基于复合类在LINQ中向表中添加多个列

时间:2014-01-12 21:35:49

标签: c# linq

我在LINQ to SQL中有一个表。

我想定义以下类:

class Example {
 public string Name;
 public int Value;
}

并在我的表中包含它的几个实例,如下所示:

[Column]
Example First;

[Column]
Example Second;

这样表实际上有四列:

First.Name
First.Value
Second.Name
Second.Value

然后可以使用数据行填充此表。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

AFAIK Linq2SQL不支持Complex Type属性。

执行此操作的最佳方法是获取所有Linq2SQL代码,然后将其删除。然后将其替换为Entity Framework

但是,我不确定这是完全可能的。如果列名在Complex Type上,则在您的实体的签名中具有复杂类型的多个实例将生成多个具有相同名称的列。

不好。

最后,感觉非常像您的数据库架构是WTF。对于每个实体和每个实体,你确定从现在到结束时你将有两个,而不是两个复杂类型吗?如果您无法做出这种保证,我确信您正在对数据库进行非规范化,明天您将需要创建一个具有三个(或者一个)复杂类型属性的实体。