我想在数据访问层中使用Entity Framework,但是每当我转到数据访问层并尝试访问数据库时,都会收到错误消息,指出未下载Entity Framework。我确实将Entity Framework添加到了该层,但是由于在Orcahrd.Web
中寻找连接字符串而无法正常工作,并且因为没有将Entity Framework添加到Orchard.Web
项目中而无法正常工作。 。
我需要某种方法来从数据访问层而不是Orchard.Web
抓取连接字符串。
我在Orchard.Web
项目中添加了Entity Framework,并且该框架可以工作,但是我不想将Orchard更改太多,以使其难以升级。我也不认为有必要在项目中添加实体框架,因为在那里不会使用它。
我的数据访问层存储库
using System.Configuration;
using BusinessObjects.ContactUs;
using tiko23867.DataAccess.Models;
namespace tiko23867.DataAccess
{
public interface IContactUsRepository
{
void Save(ContactUsItem item);
}
public class ContactUsRepository : IContactUsRepository
{
public ContactUsRepository()
{
}
public void Save(ContactUsItem item)
{
var contactUsRequest = new ContactUsRequest
{
Email = item.Email,
FirstName = item.FirstName,
LastName = item.LastName,
Message = item.Message
};
using (var context = new Dab())
{
context.ContactUsRequests.Add(contactUsRequest);
context.SaveChanges();
}
}
}
}
该项目的app.config
<configuration>
<configSections>
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="Dab"
connectionString="data source=.\SQLEXPRESS;initial catalog=dabdb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>