c# - EF 代码优先 : Many-to-Many + Additional Property

标签 c# .net entity-framework entity-framework-4.1 ef-code-first

我有以下表格:Country、Language 和 Country2Language

Country2Language 是创建 M:M 关系的链接表,该关系是使用 Fluent Mapping 定义的:

mb.Entity<Country>()                             
  .HasMany(e => e.Languages)
  .WithMany(set => set.Countries)                
  .Map(mc =>
         {
           mc.ToTable("Country2Language");
           mc.MapLeftKey("CountryShortName");
           mc.MapRightKey("LanguagesID");                            
         }
      );  

我的问题:如何添加额外的 DateTime“DateCreated”属性?

最佳答案

用已创建的列创建表,然后将数据库中的默认值设置为 GetTime 函数(或 w/e 是)是否可行?然后直接使用左/右映射,让db自动处理created的默认值?

我过去遇到过问题,如果您没有指定该列是数据库生成的值,EF 希望将 null 插入列中,但事实上这是针对多对多关系,它可能不会这样做。甚至不知道它在那里,应该始终让它成为默认值。

关于c# - EF 代码优先 : Many-to-Many + Additional Property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7985777/

相关文章:

c# - 全局命名空间 C# 中的命名空间

c# - LINQ 的 SQL 脚本

c# - Entity Framework 的额外属性不由 DbContext.Database.SqlQuery 填充

c# - 静态(在 VB.NET 中共享)或普通方法

c# - 如何从 asp.net 核心服务访问 DbContext

c# - 强制 Entity Framework 5 使用 datetime2 数据类型

c# - HTML敏捷包: get all elements by class

c# - 当我在 iis 中发布我的项目时,log4net 不起作用

c# - 如何更新 Controller 中的 .ToList() 以指向不同的表?

c# - 如何在 visual studio 中为我的程序设置最大内存限制?