【发布时间】:2019-07-12 06:34:15
【问题描述】:
我使用 fluent API 设置复合主键,当我尝试创建 ClassesController(使用实体框架的具有视图的 MVC 控制器)时,它仍然是一个错误。
声明类类:
public partial class Classes
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Classes()
{
this.Business_attrib2object = new HashSet<Business_attrib2object>();
this.Objects = new HashSet<Objects>();
}
[Key]
public System.Guid IdClass { get; set; }
public string Name { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Business_attrib2object> Business_attrib2object { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Objects> Objects { get; set; }
}
声明 Business_attrib2 对象类:
public partial class Business_attrib2object
{
[Key]
public System.Guid IdClass { get; set; }
[Key]
public System.Guid IdAttribute { get; set; }
public Nullable<System.Guid> IdAuthor { get; set; }
public virtual Attributes Attributes { get; set; }
public virtual Classes Classes { get; set; }
}
数据库上下文:
public class Business_attrib2objectContext : DbContext
{
public DbSet<Business_attrib2object> Business_attrib2object { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Business_attrib2object>().HasKey(ba => new { ba.IdClass, ba.IdAttribute });
}
public Business_attrib2objectContext(DbContextOptions<Business_attrib2objectContext> options)
: base(options)
{
Database.EnsureCreated();
}
}
创建控制器: Creating controller 错误: Error message
【问题讨论】:
标签: c# entity-framework asp.net-core