Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 首先使用EF4.1代码实现简单的一对多泛型类型的最简单方法_C#_Asp.net Mvc 3_Entity Framework_One To Many - Fatal编程技术网

C# 首先使用EF4.1代码实现简单的一对多泛型类型的最简单方法

C# 首先使用EF4.1代码实现简单的一对多泛型类型的最简单方法,c#,asp.net-mvc-3,entity-framework,one-to-many,C#,Asp.net Mvc 3,Entity Framework,One To Many,如果一个对象是泛型类型,那么在两个对象之间创建一对多关系的最佳方法是什么?有可能吗?我的意思是: 我有一个项目对象,该项目可以有多个发票日期 public class Project { //... public List<DateTime> InvoiceDates; //... } 公共类项目 { //... 公开发票日期清单; //... } 我希望它以数据库中的一对多关系结束。我是否必须将DateTime对象包装到自己的对象中,并定义导航属性以创建

如果一个对象是泛型类型,那么在两个对象之间创建一对多关系的最佳方法是什么?有可能吗?我的意思是:

我有一个项目对象,该项目可以有多个发票日期

public class Project
{
    //...
    public List<DateTime> InvoiceDates;
    //...
}
公共类项目
{
//...
公开发票日期清单;
//...
}
我希望它以数据库中的一对多关系结束。我是否必须将DateTime对象包装到自己的对象中,并定义导航属性以创建它

我必须将DateTime对象包装到我自己的对象中并定义它吗 要创建它的导航属性


对。实体必须是引用类型(
class
),并且
DateTime
struct
<代码>列表也不是可以映射到数据库中的列类型的基元类型。因此,您只能为此创建一个具有自己的表和一对多关系的实体。

好的,如果我假设我想要数字而不是日期(也可以作为对象保留)?有没有办法在不创建实体的情况下做到这一点?@MichalB.:没有。我能想到的一个“诀窍”是创建一个
字符串
属性和列,并在数字后面附加一个分隔符,如“1;5;9;18”等。您的列表属性不会被映射(只有字符串)通过解析字符串在getter中创建列表,在setter中用数字列表中的分隔符填充字符串。