实体框架,依赖注入和共享对象

时间:2015-07-15 15:22:48

标签: c# entity-framework dependency-injection

我想在使用Entity Framework的项目中使用Dependency。实体框架使用partial关键字基于表结构创建类。我创建的服务接口使用这些类。

我想将这些类移动到名为Shared Objects的项目中,以便应用程序不需要直接包含数据库项目。是否可以移出物体?我担心的是因为它们是自动生成的。

1 个答案:

答案 0 :(得分:2)

是的,您可以添加类库项目并将模板移动到此项目。 T4文件的名称与您的EDMX文件类似,不会以' .Context.tt'结尾。

一种简单的方法是,在您的类库项目中添加空文本模板文件并粘贴 NameOfYourEDMXFile.tt 的内容,然后删除原始文本templatefile,最后在新文本模板中更改值 inputFile const 以匹配EDMX位置。

UIDatePicker

如果您尝试构建项目,则会收到有关缺少指令或使用的错误,修复 NameOfYourEDMXFile.context.tt 以包含实体类的新位置,如下所示( EF6文本模板上的第46行aprox:

<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF6.Utility.CS.ttinclude"#><#@ 
 output extension=".cs"#><#

 //const string inputFile = @"SampleModel.edmx"; //ORIGINAL
const string inputFile = @"..\SNE.Console\SampleModel.edmx";

一切都好。如果你不喜欢这种方法,你可以检查我推荐的Code-First approch。 https://msdn.microsoft.com/en-us/data/jj193542.aspx