[英]Entity Framework and MS Dynamics CRM Plugin
是否可以在 CRM 插件中使用實體框架?
這是我的 DbContext 和 DbConfiguration:
[DbConfigurationType(typeof(Config))]
public class Context : DbContext
{
public Context(string nameOrConnectionString)
: base(nameOrConnectionString)
{
Database.SetInitializer<Context>(new DropCreateDatabaseIfModelChanges<Context>());
}
public DbSet<Contact> ContactSet { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Contact>().Property(i => i.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
}
public class Config : DbConfiguration
{
public Config()
{
SetDefaultConnectionFactory(new System.Data.Entity.Infrastructure.SqlConnectionFactory());
SetProviderServices(SqlProviderServices.ProviderInvariantName, SqlProviderServices.Instance);
}
}
在插件中,當我嘗試對 ContactSet 執行 CRUD 操作時,出現錯誤: The type initializer for 'System.Data.Entity.Migrations.History.HistoryRepository' threw an exception.
我在控制台應用程序中測試了這段代碼,它可以工作。
任何意見或建議將不勝感激。
更新
聯系人是 EF 模型而不是 CRM 實體。
這個問題的解決方案是將數據庫初始化程序設置為空
Database.SetInitializer<Context>(null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.