joh*_* Gu 3 entity-framework objectcontext asp.net-mvc-3 dbcontext
我使用与实体框架数据库的第一种方法,当我习惯使用的ObjectContext的数据库表被映射的默认模板工作,所以我用来创建#partial类&[MetadataType(typeof运算)以应用数据注解,,但是当我开始使用的DbContext代码生成模板来映射数据库表,我发现,它会在我的示范区创建.TT文件夹都被我发现,我可以直接申请数据注解到的.cs类本身,而不需要创建在objectcontext情况下的部分类.目前数据注释工作正常,但我的方法会导致我不知道的问题,我应该创建部分类,因为我曾经使用Objectcontext吗?BR
通常,您不应编辑生成的代码,因为您所做的更改将在重新生成时被覆盖.这就是大多数发生器发出部分类的原因.
对于您的情况,最佳做法是在解决方案中使用另一个部分类声明创建一个新文件.在该文件中,将MetadataType属性添加到类中,并将属性级验证属性添加到"伙伴"类(属性中引用的类).这允许您在生成的属性上使用验证属性,如果模型/数据库发生更改,您仍然可以重新生成模型类而不会丢失它们.
例如,您的新文件可能类似于:
[MetadataType(typeof(PersonMetadata))]
partial class Person
{
// Add logic to the generated class in here.
public string FullName
{
get { return FirstName + " " + LastName; }
}
}
class PersonMetadata
{
// Add attributes to the generated properties in here.
[Required]
public string FirstName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3456 次 |
| 最近记录: |