私が正しく理解していれば、基本的にEFが何をしているかのように思えます。最初にコードを使用してこれを行うには、少なくとも2つの方法があります。私はEntityTypeConfigurationアプローチ(流暢なAPIではなく)を使用してオブジェクトモデルを構築するのが好きです。あなたのケースでは、それはこのようになります。
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration;
using CoreNamespace;
namespace CoreNamespace
{
public class MyDbContext:DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
modelBuilder.Configurations.Add(new CoreEntityConfiguration());
}
}
public class CoreEntity
{
//list properties, methods, etc
}
public class CoreEntityConfiguration : EntityTypeConfiguration<CoreEntity>
{
public CoreEntityConfiguration()
{
//configure entity and map to db
}
}
namespace ExtendingProjectNamespace
{
public class MyExtendedDbContext : MyDbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Configurations.Add(new SubEntityConfiguration());
}
}
public class SubEntity
{
//list properties, methods, etc
}
public class SubEntityConfiguration : EntityTypeConfiguration<SubEntity>
{
public SubEntityConfiguration()
{
//configure entity and map to db
}
}
}
ここに名前空間が別々のプロジェクト/のDLLを参照するように意図されている
どのようにあなたのDbContextを作成している - コードまず、デザイナーを経て、等? –
@ JimMcKeon、私はデータベース(データベースから)を作成していますが、私が望むものを有効にしていればそれを作成しても構いません。 – mattinsalto