gpt4 book ai didi

entity-framework - ef5数据库第一个数据注释

转载 作者:行者123 更新时间:2023-12-01 12:50:02 27 4
gpt4 key购买 nike

我正在使用 VS2012 启动 MVC4。我还在使用 EF5 和“数据库优先”方法来创建我的类。

但是因为生成的眼镜可以重新生成,所以我无法放置数据注释细节来帮助验证。

我看过一些使用元数据和部分类的代码片段,但我想知道是否有人知道一个可编译的小示例,我可以查看并拆解它以更好地理解各种类之间的相互联系。

非常感谢您的帮助。戴夫

最佳答案

您可以通过扩展模型来实现您所需要的。假设 EF 为您生成了以下实体类:

namespace YourSolution
{
using System;
using System.Collections.Generic;

public partial class News
{
public int ID { get; set; }
public string Title { get; set; }
public int UserID { get; set; }

public virtual UserProfile User{ get; set; }
}
}

并且您想做一些变通来保留您的数据注释和属性。因此,请按照以下步骤操作:

首先,在某个地方(任何你想要的地方,但最好在 Models 中)添加两个类,如下所示:

namespace YourSolution
{
[MetadataType(typeof(NewsAttribs))]
public partial class News
{
// leave it empty.
}

public class NewsAttribs
{
// Your attribs will come here.
}
}

然后在第二个类——NewsAttribs这里添加你想要的属性和属性。 :

public class NewsAttrib
{
[Display(Name = "News title")]
[Required(ErrorMessage = "Please enter the news title.")]
public string Title { get; set; }

// and other properties you want...
}

注意事项:

1) 生成的实体类和您的类的命名空间必须相同 - 这里是YourSolution

2) 您的第一个类必须partial并且它的名称必须与EF生成的类相同。

通过这个,你的属性再也不会丢失......

关于entity-framework - ef5数据库第一个数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com