在VS2012(.NET 4.5和Entity Framework 5)NotMapped錯誤和.NET 4.5
當暴露的繼承關係,導致編譯時錯誤:
不能使用忽略方法在類型 'MrTree.SubSubClass'上的屬性'InnerString'上,因爲此類型繼承自映射此屬性的類型 'MrTree.BaseClass'。要從模型中排除此 屬性,請使用基本類型 上的NotMappedAttribute或Ignore方法。
的代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
MyDbcontext db = new MyDbcontext();
int i = db.SubSubClasses.Count();
}
}
public class BaseClass
{
[NotMapped]
public string InnerString { get; set; }
}
public class SubClass : BaseClass
{
}
public class SubSubClass : SubClass
{
}
public class MyDbcontext : DbContext
{
public DbSet<SubSubClass> SubSubClasses { get; set; }
public DbSet<SubClass> SubClasses { get; set; }
}
}
你能告訴我有什麼不對?
我提供的關於代碼的類定義已完成。我的開發環境是Visual Studio 2012,Entity Framework 5.0.0,目標框架是.NET Framework 4.5.50709,是嗎? – user1661673
是的,這是相同的設置。你像我一樣添加主鍵嗎? –