我試圖創造與擁有它的自定義類型的模型控制器...錯誤創建控制器,支持自定義類型使用實體框架ASP.NET MVC
我有ID和A型主類'工作',在那裏我宣佈了三個屬性,其中一個依賴於另外兩個。然後我創建了一個dbset類型。我的映射屬性是否不正確?
我收到以下錯誤: 運行選定的代碼生成器時出錯:「無法檢索'Stack.Models.Work'的元數據」。該屬性總和不是數學類型的聲明屬性。通過使用Ignore Method或NotMappedAttribute數據註釋驗證該屬性是否未被顯式從模型中排除。確保它是一個有效的基本屬性。
namespace stack.Models
{
public class Work
{
[Key]
public int ID { get; set; }
public Work()
{
this.Maths = new Math();
}
public Math Maths { get; set; }
}
[ComplexType]
public class Math
{
public int first { get; set; }
public int second { get; set; }
public int sum
{
get
{
try
{
return first + second;
}
catch
{
return 0;
}
}
}
}
public class WorkDBContext: DbContext
{
public DbSet<Work> Working { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Work>()
.Property(c => c.Maths.first).IsRequired();
modelBuilder.Entity<Work>()
.Property(c => c.Maths.second).IsRequired();
modelBuilder.Entity<Work>()
.Property(c => c.Maths.sum).IsRequired();
base.OnModelCreating(modelBuilder);
}
}
}
'是計算sum',只讀屬性,因此它不能被映射到數據庫字段。您是否嘗試過建議的[[NotMapped]]屬性?另外,你爲什麼要將計算值設置爲'isRequired'? –