如果您有以下域模型:
public class Test
{
public string Description { get; set; }
public TestB A { get; set; }
public TestB B { get; set; }
public TestB C { get; set; }
}
public class TestB
{
public string Name { get; set; }
public string Description { get; set; }
}
您有一个具有以下结构的表:
Test
- Description
- NameA
- DescriptionA
- NameB
- DescriptionB
- NameC
- DescriptionC
其中名称和描述对映射到复杂类型 B 的单个实例。
假设数据库模式无法更改,是否有任何方法可以纯粹使用流畅的 API 来定义此映射?
我让它以合理的方式工作的唯一方法是派生 TestB 的子类型并像这样映射它们:
modelBuilder.ComplexType<TestB>().Property(x => x.Name).HasColumnName("NameA");
modelBuilder.ComplexType<TestB>().Property(x => x.Description).HasColumnName("DescriptionA");
modelBuilder.ComplexType<TestB1>().Property(x => x.Name).HasColumnName("NameB");
modelBuilder.ComplexType<TestB1>().Property(x => x.Description).HasColumnName("DescriptionB");
我不想纯粹为了映射到实体框架而定义派生类型。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)