Entity Framework 和 MS Dynamics CRM 插件

Entity Framework and MS Dynamics CRM Plugin

是否可以在 CRM 插件中使用 Entity Framework?

这是我的 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);