两个表被视为一个
我有两个这样的表:
Table1(id, name) Table2(id_of_table_1, code)
我不需要Table1或Table2的实体,但两者都需要一个实体:
class Merge{ public virtual long id{get;set;} public virtual string name{get;set;} public virtual string code{get;set;} }
如何将表加载到edmx以便将它们视为一个?
我没有对数据库的任何控制,我无法创建表或视图。
您正在寻找称为实体拆分的高级映射。
我认为这就是你所期待的: 如何:定义一个映射到两个表的单个实体的模型
简而言之,您需要这样做:
- 将两个表作为两个单独的实体添加到模型中
- 将标量值从Table2实体切割为Table1实体
- 删除Table2实体
- 在Table1实体的表映射选项中,将Table2字段映射到Table2
有关更详细的说明,您可以查看此博客文章 。
在Merge类中创建一个函数,该函数将类的属性写入相应的Table1和Table2 EDMX对象。 您的Merger
类应该将这些EDMX对象引用为内部变量。 所以这个类就像你的2个表对象的包装器。