我的数据库中有以下表结构:
指示
我有这个类结构
abstract class Indication
{
public int Id { get; set; }
public int Type { get; set; }
public string InstanceName { get; set; }
}
class StringIndication : Indication
{
public string Value { get; set;}
}
class IntIndication : Indication
{
public intValue { get; set;}
}
我想将我的表映射到此结构取决于Type属性。 所以,这很简单:
modelBuilder.Entity<Indication>()
.Map<IntIndication>(m => m.Requires("Type").HasValue(1))
.Map<StringIndication>(m => m.Requires("Type").HasValue(2));
modelBuilder.Entity<IntIndication>().Property(c => c.Value).HasColumnName("IntValue");
modelBuilder.Entity<StringIndication>().Property(c => c.Value).HasColumnName("StringValue");
它工作正常,但现在我想再做一件事。我想要InstanceName的字典。 所以,我创建了另一个表
实例
,将Indication表中的InstanceName更改为InstanceId。
但我不希望像
这样的查找属性public Instance Instance {get;set;}
在我的指示表中。 相反,我想保持
public string InstanceName { get; set; }
并添加其他
public id InstanceId { get; set; }
那么,我应该如何更改我的映射来完成这项工作呢?
非常感谢!
答案 0 :(得分:0)
我相信这会有你的答案:
http://msdn.microsoft.com/en-us/data/jj715646.aspx 它涵盖了EF Designer - 将实体映射到多个表(实体拆分)