私は現在、.Include()を呼び出すことができず、インテリセンス(vscode内)が存在するとは思わないようです。
今、長い間ウェブを検索した後、私はこれを見つけました:
汎用リポジトリを実装しているEFで.Include()メソッドが見つかりません
これは、.IncludeがEF 5および6でのみ利用可能なSystem.Data.Entitiesにのみ存在することを示唆しているようです。
では、EFコアのエンティティのリストプロパティをどのように積極的に読み込むのですか?
私の文脈をここに
public class Database : DbContext
{
//Set new datasources like this: public DbSet<class> name { get; set; }
public DbSet<Domain.Resource> Resources { get; set; }
public DbSet<Domain.ResourceType> ResourceTypes { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Filename=./something.db");
}
}
データクラスは次のとおりです。
public class Resource
{
public int ResourceId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int ResourceTypeId { get; set; }
public ResourceType ResourceType { get; set; }
}
public class ResourceType
{
public int ResourceTypeId { get; set; }
public string Name { get; set; }
public List<Resource> Resources { get; set; }
}
次に、私は次のようなことをします:
public List<ResourceType> GetAll()
{
var router = new Database();
var result = router.ResourceTypes.Include(rt => rt.Resources); //It's here there's absolutely no .Include method
return result.ToList();
}
.IncludeはEF Coreに存在しませんか?
EF 6以下のユーザーがここにたどり着き、OPが実際にこのように言及していることに気付かない場合は、
using System.Data.Entity;
あなたのクラスに。
ここ は、EF7でこの問題を追跡している以前の回答です。現在「含まれている」ようです。