小编sc0*_*tbr的帖子

MS SQL与联结表创建多对多关系

我正在使用Microsoft SQL Server Management Studio,在创建联结表时,我应该为联结表创建一个ID列,如果是这样,我还应该将它作为主键和标识列吗?或者只是为我加入多对多关系的表保留2列?

例如,如果这将是多对多表:

MOVIE
Movie_ID
Name
etc...

CATEGORY
Category_ID
Name
etc...
Run Code Online (Sandbox Code Playgroud)

我应该建立联结表:

MOVIE_CATEGORY_JUNCTION
Movie_ID
Category_ID
Movie_Category_Junction_ID
Run Code Online (Sandbox Code Playgroud)

[并制作Movie_Category_Junction_ID我的主键并将其用作标识栏]?

要么:

MOVIE_CATEGORY_JUNCTION
Movie_ID
Category_ID
Run Code Online (Sandbox Code Playgroud)

[并且只留下没有主键或身份表的那个]?

sql sql-server many-to-many junction-table

29
推荐指数
2
解决办法
6万
查看次数

IEnumerable这样的接口如何在没有正确实现的情况下工作?

根据我对接口的理解,为了使用它们,你必须通过在冒号后面添加接口的名称来声明一个类正在实现它,然后实现这些方法.

我目前正在学习枚举器,IEnumerable等等,这让我很困惑.这是我的意思的一个例子:

static IEnumerable<int> Fibs(int fibCount)
{
    for (int i = 0, prevFib = 1, curFib = 1; i < fibCount; i++) {
        yield return prevFib;
        int newFib = prevFib + curFib;
        prevFib = curFib;
        curFib = newFib;
    }
}
Run Code Online (Sandbox Code Playgroud)

IEnumerable似乎是一个普通的接口,我甚至检查了方法定义,这就是它的样子.

我怎么可能在方法定义中使用接口作为类型/返回类型,何时/如何知道我应该使用某些接口作为此示例中的类型?

编辑:我真的怀疑它与yield关键字有什么关系,因为很多接口都以这种方式用作属性,例如在模型中的MVC中,并像它一样传递给Views.例:

public IEnumerable<Category> Categories {get;set;}
Run Code Online (Sandbox Code Playgroud)

c# ienumerable interface

2
推荐指数
1
解决办法
626
查看次数

c# - 字节数组不正确转换为MB

该文件大约是24mb,并且它保存在DataBase中,所以我将它转换为位数组然后,经过多次建议后,我使用了bitconverter.tosingle(,),这给了我不好的结果,这是我的代码:

     byte[] imgData = prod.ImageData;

     float myFloat = BitConverter.ToSingle(imgData, 0);

     float mb = (myFloat / 1024f) / 1024f;
Run Code Online (Sandbox Code Playgroud)

当我调试时,我得到这些结果:

字节[24786273]

myFloat = 12564.0361

mb = 0.0119819986

奇怪的是,数组的大小与文件的大小完全相同.如何正确地将其转换为浮动然后显示为mb?

编辑:我尝试将myFloat设置为imgData.Length,然后大小是正确的,但是这是一个正确的方法,并且它会在未来导致更大的值的问题?

data-conversion c#-4.0

2
推荐指数
1
解决办法
4574
查看次数

Objective-C为什么要使用init?

我正在阅读我关于Objective-C [Objective-C第4版编程]的第一本书,我正在阅读本书的中途,但有一点让我感到困惑的是,它没有解释我们为什么要初始化对象.

我尝试使用with对象,例如分配内存但不启动它们,程序中的所有内容都和以前一样.

我也很欣赏一些解释这个问题的例子.

object objective-c init

1
推荐指数
1
解决办法
183
查看次数