我有两个实体 - WorkItem和TestSuite - 其中WorkItem是抽象类,TestSuite实现它。问题是如何将TestSuite属性映射到数据库列?在Workitem的情况下,我可以这样做,如下所示。但是在TestSuite的情况下,我不能。 ReSharper不提供Property方法。
如何映射派生类的列?在下面的示例中:如何将WORKITEM_TEST_SUITE.TEST_SUITE_TYPE_ID列映射到TestSuiteEntity类?有可能的?我会接受EF为我创建列名的事实吗?
到目前为止我做了什么?
对我来说控制列映射非常重要。
WorkItem实体:
modelBuilder.Entity<WorkItemEntity> ( ).ToTable ( "WORKITEM" );
modelBuilder.Entity<WorkItemEntity> ( ).HasKey ( k => k.Id );
modelBuilder.Entity<WorkItemEntity> ( ).Property ( p => p.Id ).HasColumnName ( "ID" );
工作项目表:
CREATE TABLE [dbo].[WORKITEM]
(
[ID] INT NOT NULL PRIMARY KEY IDENTITY(1,1),
-- other columns
)
TestSuite实体:
modelBuilder.Entity<TestSuiteEntity> ( ).ToTable ( "WORKITEM_TEST_SUITE" );
modelBuilder.Entity<TestSuiteEntity>()//--> no property method!
存储TestSuite内容的表。
CREATE TABLE [dbo].[WORKITEM_TEST_SUITE] ( [ID] INT NOT NULL PRIMARY KEY,
[TEST_SUITE_TYPE_ID] INT NOT NULL,
-- other columns )
更新:
尽管我已经重新启动Visual Studio几次以排除intellisense / resharper没有加载可用方法,属性的可能性,但是一天后属性方法出现了。
答案 0 :(得分:0)
尽管我已经重新启动了Visual Studio几次,以排除intellisense / resharper避免加载可用方法,属性的可能性,但是一天后属性方法出现了。