エンティティフレームワークコアのOnModelCreatingですべての構成を動的に読み込もうとしています。 ModelConfigurationが見つからない場合、別の方法です。EFコアでSystem.Data.Entity.ModelConfigurationが見つかりません
6
A
答えて
2
私は自分自身で答えを探していたので、私はこの質問に遭遇しました。私はそれがEFコアでは実装されていませんが、かなり簡単に実装できることを発見しました。
あなたはこれらのいずれかを作成することができます
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Microsoft.EntityFrameworkCore
{
public abstract class EntityTypeConfiguration<TEntity> where TEntity : class
{
public abstract void Map(EntityTypeBuilder<TEntity> modelBuilder);
}
public static class ModelBuilderExtensions
{
public static void AddConfiguration<TEntity>(this ModelBuilder modelBuilder, EntityTypeConfiguration<TEntity> configuration) where TEntity : class
{
configuration.Map(modelBuilder.Entity<TEntity>());
}
}
}
をそしてあなたは、エンティティ自体の構成を作成することができます - おそらくあります(
using Microsoft.EntityFrameworkCore;
using Project.Domain.Models;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Project.Persistance.EntityConfigurations
{
public class MyEntityConfiguration : EntityTypeConfiguration<MyEntity>
{
public override void Map(EntityTypeBuilder<MyEntity> modelBuilder)
{
modelBuilder
.Property();//config etc
}
}
}
あなたはその後、どこかに、すべての設定を読み込むことができますがそれを行うための良い方法と良い場所の両方...しかし、これは私がやったことです): -
using Microsoft.EntityFrameworkCore;
using Project.Domain.Models;
using Project.Persistance.EntityConfigurations;
namespace Project.Persistance
{
public class MyDbContext : DbContext
{
// Normal DbContext stuff here
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.AddConfiguration(new MyEntityConfiguration());
}
}
}
0
それはあなたのデシベルコンテキストでそれから、今、コア2.0に
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace MyApp.DAL.EntityConfigurations
{
public class StudentConfiguration : IEntityTypeConfiguration<Student>
{
public void Configure(EntityTypeBuilder<Student> modelBuilder)
{
modelBuilder.Property(f => f.Name).IsRequired();
}
}
}
さらに簡単です:
public DbSet<Student> Students{ get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customizations must go after base.OnModelCreating(builder)
builder.ApplyConfiguration(new StudentConfig());
builder.ApplyConfiguration(new SomeOtherConfig());
// etc.
// etc..
}
関連する問題
- 1. EF 4.0からEF 4.2、DeleteObjectが見つかりません、
- 2. EF 6 Enable-Migrationsでコンテキストが見つかりません
- 3. Entity Frameworkコアで外部オブジェクトが見つかりませんか?
- 4. .netコアでメソッドが見つかりません。
- 5. EF 6にHasOneが見つかりません
- 6. WCF DataService EFエンティティが見つかりません
- 7. Visual Studio .NETコアSDKが見つかりませんか?
- 8. ASP.NETコアにClientAssertionCertificateが見つかりません
- 9. Payum - 形質 'Payum \コア\ GatewayAwareTrait' が見つかりません
- 10. パス内のコア名が見つかりません
- 11. AzureのASP.NETコア:アセンブリファイルが見つかりませんdotnet-razor-tooling.exe
- 12. ASP.NETコアこのlocalhostページが見つかりません
- 13. Angular2 RC1カルマエラー - 角度/コア/テストが見つかりません
- 14. ASP.NETコア指定されたファイルが見つかりません
- 15. Visual Studioの "ASP.NETコアWebアプリケーション(.NETコア)"テンプレートが見つかりません2017
- 16. EFコア1.1 context.set()が見つかりません。ストアドプロシージャを呼び出す方法は?
- 17. MSTestユニットテストでEF接続文字列が見つかりません
- 18. ファイルが見つかりませんParse/PFNullability.hが見つかりません
- 19. が見つかりませんsgen.exeが見つかりません
- 20. ソースが見つかりません。AsyncExtensions.csが見つかりません。
- 21. iCal.NET .NETコア - 名前空間 'Event'が見つかりませんでした
- 22. Angular2名前が見つかりませんコアでIterableを使用
- 23. ASP.NETコアでIISに統合されたビューが見つかりません
- 24. asp.netコアで統合テストを実行中に404が見つかりません
- 25. .NETコア - フレームワーク "DNXCore、Version = v5.0"のリファレンスアセンブリが見つかりませんでした
- 26. ASP.NETコアWebアプリケーション(.NET Core)が見つからないテンプレートがありません
- 27. Asp.Net 5コア1.0互換性がない/テンプレートが見つかりません
- 28. んEFコアの移行が
- 29. LinqPadで動作しますが、EFコアにはありません
- 30. java.lang.ClassNotFoundExceptionが見つかりません:org.springframework.util.MimeTypeがありません