VS2012(.NET 4.5 および Entity Framework 5)
継承関係を公開すると、コンパイル時エラーが発生しました:
タイプ 'MrTree.SubSubClass' のプロパティ 'InnerString' で Ignore メソッドを使用することはできません。このタイプは、このプロパティがマップされているタイプ '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; }
}
}
何が悪いのか教えていただけますか?