调用使用 Entity Framework 的 DAL
Calling DAL that uses Entity Framework
我有一个正在调用 DAL 库的 Web API 应用程序。 DAL 库使用 Entity Framework 与 SQL 数据库交互。现在,我需要将连接字符串设置到 Web API 项目中的数据库。这也需要我在 Web API 项目中安装 EF。有什么方法可以在 Web API 项目中设置连接字符串而无需安装 EF?
您可以包装 DbContext,这样 DAL 项目就不会暴露任何与 EF 相关的组件。通过这样做,您不必将 EF 安装到您引用 DAL 项目的每个项目中。
public class DataContextWrapper : IDisposable {
public DataContextWrapper() {
DataContext = new DataContext();
}
internal DataContext DataContext { get; private set; }
public void Dispose() {
DataContext.Dispose();
}
}
只要您的存储库等也在 DAL 项目中,并且它们不是 return 数据库实体而是模型,您就没问题。
我在我的 Web api 项目中使用 EF 所用的相同连接字符串。我在网络 api 项目中引用了 EntityFramework.SqlServer.dll。现在,它起作用了。
我有一个正在调用 DAL 库的 Web API 应用程序。 DAL 库使用 Entity Framework 与 SQL 数据库交互。现在,我需要将连接字符串设置到 Web API 项目中的数据库。这也需要我在 Web API 项目中安装 EF。有什么方法可以在 Web API 项目中设置连接字符串而无需安装 EF?
您可以包装 DbContext,这样 DAL 项目就不会暴露任何与 EF 相关的组件。通过这样做,您不必将 EF 安装到您引用 DAL 项目的每个项目中。
public class DataContextWrapper : IDisposable {
public DataContextWrapper() {
DataContext = new DataContext();
}
internal DataContext DataContext { get; private set; }
public void Dispose() {
DataContext.Dispose();
}
}
只要您的存储库等也在 DAL 项目中,并且它们不是 return 数据库实体而是模型,您就没问题。
我在我的 Web api 项目中使用 EF 所用的相同连接字符串。我在网络 api 项目中引用了 EntityFramework.SqlServer.dll。现在,它起作用了。