エンティティフレームワークコアの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. .netコアでメソッドが見つかりません。
- 4. Visual Studio .NETコアSDKが見つかりませんか?
- 5. WCF DataService EFエンティティが見つかりません
- 6. ASP.NETコアにClientAssertionCertificateが見つかりません
- 7. Payum - 形質 'Payum \コア\ GatewayAwareTrait' が見つかりません
- 8. ASP.NETコア指定されたファイルが見つかりません
- 9. パス内のコア名が見つかりません
- 10. AzureのASP.NETコア:アセンブリファイルが見つかりませんdotnet-razor-tooling.exe
- 11. Angular2 RC1カルマエラー - 角度/コア/テストが見つかりません
- 12. MSTestユニットテストでEF接続文字列が見つかりません
- 13. が見つかりませんsgen.exeが見つかりません
- 14. ソースが見つかりません。AsyncExtensions.csが見つかりません。
- 15. ファイルが見つかりませんParse/PFNullability.hが見つかりません
- 16. ASP.NETコアでIISに統合されたビューが見つかりません
- 17. asp.netコアで統合テストを実行中に404が見つかりません
- 18. Angular2名前が見つかりませんコアでIterableを使用
- 19. Asp.Net 5コア1.0互換性がない/テンプレートが見つかりません
- 20. ASP.NETコアWebアプリケーション(.NET Core)が見つからないテンプレートがありません
- 21. LinqPadで動作しますが、EFコアにはありません
- 22. NamespaceHandlerコアを見つけることができません
- 23. 公開後にASP.NET MVCコア - 表示が見つかりません
- 24. anglejs 2角張った材質/角型/コアが見つかりません
- 25. DropboxコアAPI copy_refが(404)見つかりませんエラーを表示
- 26. signtool.exeが見つかりませんか?
- 27. サービスエンドポイントが見つかりませんか?
- 28. kSecRandomDefaultが見つかりませんか?
- 29. Railsレコードが見つかりませんエラーIDなしでワークアウトが見つかりませんでした
- 30. windows xamp php 7.0.5とmongodbドライバが見つかりませんでしたが、クラスが見つかりません