我想将数据库实体层与DataAccessLayer分开。
我会写下我的步骤:
现在我想从'App'项目访问DB对象,但我无法访问dbContext,我收到错误
'在应用程序配置文件中找不到名为'DBEntity'的连接字符串。'
我有这行代码:
try
{
DB.DBEntity db = new DB.DBEntity();
Customer cust = db.Customers.FirstOrDefault(c => c.ID == 2);
Console.WriteLine(cust.Name);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
有没有办法只在'DB'中保留连接字符串,或者我必须把它放在'App'项目中?
答案 0 :(得分:1)
'在应用程序配置文件中找不到名为'DBEntity'的连接字符串。' - 似乎足够合法。
将app.config
文件(例如,使用相应的ConnectionString declaration)添加到实际执行的项目。
自定位EF以来,请注意特定的Entity Framework Configuration Rules - 即此处正在寻找名称DBEntity
。实际规则取决于使用的版本的EF。 (模型项目中有app.config
可以作为参考的机会非常好。)
也可以为相应的构造函数重载指定DbConnection(或者可能是连接字符串) - 即通过依赖注入 - 或以其他方式指定备用数据库提供程序。