Entity Framework4 Poco的使用
刚接触个项目,使用了EF4+Poco技术。之前没接触过这些玩意,不过使用方法较为简单,难点可能在于如何写模版。
以下针对基础使用方法写一上过程.
首先在Data项目里头添加一个ASP.NET Entity Data Model 取名如:pocoEntity.edmx
并将要连接的对应的数据库信息设置,读取表信息等,完成后,双击???pocoEntity.edmx,你会看到每个表的字段信息.
然后点空白处的右键,Add Code Generation Item...,并创建ADO.NET POCO Entity Generator,取名如:pocoModel.tt
这时,在项目中就会自动生成pocoModel.tt跟pocoModel.Context.tt两个文件,并根据这两个文件的模版生成相应的类跟方法。
此时的pocoModel就已经创建完成。
因为考虑到要分层,比如说把model放到实体项目中如Model项目中,这时就需要将pocoModel.tt移至Model项目中,但还需要
改一个地方,就是pocoModel.tt文件里头的部分代码
?
view sourceprint?
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#><#@
output extension=".cs"#><#
CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);
string inputFile = @"cc.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();
string inputFile = @"cc.edmx";//这一块要改成具体的edmx文件所在位置,比中是@"..\Data\pocoEntity.edmx"
刚接触个项目,使用了EF4+Poco技术。之前没接触过这些玩意,不过使用方法较为简单,难点可能在于如何写模版。
以下针对基础使用方法写一上过程.
首先在Data项目里头添加一个ASP.NET Entity Data Model 取名如:pocoEntity.edmx
并将要连接的对应的数据库信息设置,读取表信息等,完成后,双击???pocoEntity.edmx,你会看到每个表的字段信息.
然后点空白处的右键,Add Code Generation Item...,并创建ADO.NET POCO Entity Generator,取名如:pocoModel.tt
这时,在项目中就会自动生成pocoModel.tt跟pocoModel.Context.tt两个文件,并根据这两个文件的模版生成相应的类跟方法。
此时的pocoModel就已经创建完成。
因为考虑到要分层,比如说把model放到实体项目中如Model项目中,这时就需要将pocoModel.tt移至Model项目中,但还需要
改一个地方,就是pocoModel.tt文件里头的部分代码
?
view sourceprint?
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#><#@
output extension=".cs"#><#
CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);
string inputFile = @"cc.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();
string inputFile = @"cc.edmx";//这一块要改成具体的edmx文件所在位置,比中是@"..\Data\pocoEntity.edmx"