我有一个现有数据库,其中包含一个表,我已添加了2个新列。
示例表:
CREATE TABLE [dbo].[Tasks](
[TaskId] [int] IDENTITY(1,1) NOT NULL,
[CategoryId] [int] NOT NULL,
[ResolutionId] [int] NULL,
[AmendedCategoryId] [int] NULL, -- New column
[AmendedResolutionId] [int] NULL, -- New column
)
这些列(每个都是一个int)的外键关系与之前存在的2个列相同(" CategoryId"" AmendedCategoryId"每个FK到[TaskCategory]和" ResolutionId"和" AmendedResolutionId"每个FK到[TaskResolution])。
当我使用EF6 Code First为此生成C#数据访问类时,结果令人困惑(至少可以说)。
以下是EF正在制作的一个例子:
modelBuilder.Entity<TaskCategory>()
.HasMany(e => e.TaskCategory1)
.WithOptional(e => e.TaskCategory2)
.HasForeignKey(e => e.ParentCategoryId);
modelBuilder.Entity<TaskCategory>()
.HasMany(e => e.Tasks)
.WithOptional(e => e.TaskCategory)
.HasForeignKey(e => e.AmendedCategoryId);
modelBuilder.Entity<TaskCategory>()
.HasMany(e => e.Tasks1)
.WithRequired(e => e.TaskCategory1)
.HasForeignKey(e => e.CategoryId)
.WillCascadeOnDelete(false);
导致以下结果:
如何正确地将实体框架6转换为&#34;&#34;使用&#34; Code First&#34;生成类和属性,从而生成类中的类和属性。 EF功能?