我有以下表格: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”属性?
答案 0 :(得分:1)
您必须为映射创建一个映射到表的实体。
public class Country2Language {
[Key]
[Column(Order = 0)]
[ForeignKey("CountryShortName")]
public int CountryShortname{ get; set; }
[Key]
[Column(Order = 1)]
[ForeignKey("LanguagesID")]
public int LanguagesID { get; set; }
public DateTime DateCreated {get; set;}
}
答案 1 :(得分:1)
是否可以使用创建的列创建表,然后将数据库中的默认值设置为GetTime函数(或者它是什么)?然后只需使用左/右映射,让db自动处理创建的默认值?
我曾经遇到过以下问题,如果你没有指定列是db生成的值,那么EF想要将null插入列中,但事实上这是为了多对多关系,它可能不会“甚至知道它在那里,应该总是让它成为默认值。