【发布时间】:2018-01-20 12:21:24
【问题描述】:
尝试首先将 EF 6 代码用于 WCF 服务,但遇到以下运行时错误:
实体框架使用了默认的 DbConfiguration 实例 在发现“MyConfiguration”类型之前。一个实例 使用前必须在应用程序启动时设置“MyConfiguration” 任何实体框架功能或必须在 应用程序的配置文件。看 http://go.microsoft.com/fwlink/?LinkId=260883 了解更多信息。
尝试在服务调用中实例化以下 DbContext 时会引发此错误:
[DbConfigurationType(typeof(MyConfiguration))]
public partial class MyContext : DbContext
{
public MyContext()
: base("name=MyContext")
{
}
}
public class MyConfiguration : DbConfiguration
{
public MyConfiguration()
{
SetExecutionStrategy(MySqlProviderInvariantName.ProviderName, () => new MySqlExecutionStrategy());
SetDefaultConnectionFactory(new MySqlConnectionFactory());
AddDependencyResolver(new MySqlDependencyResolver());
}
}
这个 WCF 服务有其他 DbContexts 在这个类被访问之前使用,所以错误消息非常有意义。问题是应该在哪里设置配置?
【问题讨论】:
-
删除
[DbConfigurationType(typeof(MyConfiguration))],再试一次。 -
谢谢,问题似乎是由项目中已创建的其他 EF 上下文引起的。必须做更多的研究才能找到解决方案。
标签: mysql entity-framework wcf ef-code-first