Tag: entity framework 4.1

如何从代码检索数据注释? (编程)

我正在使用System.ComponentModel.DataAnnotations为我的Entity Framework 4.1项目提供validation。 例如: public class Player { [Required] [MaxLength(30)] [Display(Name = "Player Name")] public string PlayerName { get; set; } [MaxLength(100)] [Display(Name = "Player Description")] public string PlayerDescription{ get; set; } } 我需要检索Display.Name注释值,以显示在一个消息,如select“播放器名称”是弗兰克。 ================================================== =============================== 另一个为什么我可能需要检索注释的例子: var playerNameTextBox = new TextBox(); playerNameTextBox.MaxLength = GetAnnotation(myPlayer.PlayerName, MaxLength); 我怎样才能做到这一点?

ADO.NET DbContext生成器与ADO.NET Poco实体生成器(ObjectContext)

我即将开始实施一个以DDD方法构build的项目的数据访问基础设施( 这是我第一次尝试使用DDD,所以要温和;-) )。 我将使用entity framework。 到目前为止,我正在研究Julie Lerman在她的着名的编程entity framework ( Programming Entity Framework )中教授的方法,其中使用了ADO.NET POCO实体生成器 ,并对T4模板和一些更多的自定义代码进行了一些更改。 今天,我开始阅读关于EF4.1和ADO.NET DbContext生成器的文章 ,使用数据库优先的方法,我试图决定我应该去哪一个。 DbContext和EF4.1的DDD方法似乎是比POCO实体更好,更干净的方式,但是恐怕在不久的将来可能会导致一些问题,因为EF4.1还在RC中。 从ADO.NET团队博客 ,我知道EF4.1 不包括: 支持Enum 空间数据types支持 代码优先的存储过程支持 在Code First中提供迁移支持 Code First中的可定制约定 根据我的理解,因为我将使用“ 数据库优先”,所以没有包含更less的function。 最后,我的问题是: 我可以使用EF4.1 DbContext生成器replacePOCO实体生成器吗?

我应该启用还是禁用dynamic代理与entity framework4.1和MVC3?

有人可以提出一些build议或指出一些可以帮助做出这个决定的博客/文章? 代理人对我来说看起来很陌生,我不愿意使用它们。 我喜欢通过在模型中使用虚拟属性来控制“延迟加载”的能力,但这几乎是我所能看到的所有好处。 我的应用程序是一个简单的MVC Web应用程序,当实体遇到更改的状态时,我不需要将任何挂钩连接到上下文中。 无论如何,这里是我非常有限的利弊名单,让我知道,如果我与任何这样的基础。 优点 在“保存”或“更新”上,我可以通过“应用”更改 延迟加载configuration非常简单。 缺点 以前从未使用过代理服务器,这是对自己和团队成员看起来不舒服的方法的改变。 尴尬的debugging。 如果我想序列化/反序列化,需要额外的代码 在“保存”或“更新”上,代理必须是从上下文中检索的同一个对象。

entity framework4.1虚拟属性

如果我已经在我的模型中声明实体关系为虚拟的那么没有必要在我的LINQ查询中使用Include语句,对吗? 例如:这是我的模特class: public class Brand { public int BrandID { get; set; } public string BrandName { get; set; } public string BrandDesc { get; set; } public string BrandUrl { get; set; } public virtual ICollection<Product> Products { get; set; } } 现在,对于上面的模型类,我不需要使用var brandsAndProduct = pe.Brands.Include("Products").Single(brand => brand.BrandID == 22); 。 相反,我可以使用简单的var brandsAndProduct = […]

entity framework代码第一。 find主键

如何find一个类的哪个属性是entity framework代码第一个实体POCO的主键? 请注意Id / class name +“Id”的string匹配是一个不好的select。 必须有一些方法来挖掘entity framework所使用的约定,并可靠地获得关键属性。 提前致谢。

为什么。包容很慢? 通过主键获取多个实体的最有效方法?

什么是通过主键select多个实体最有效的方法? public IEnumerable<Models.Image> GetImagesById(IEnumerable<int> ids) { //return ids.Select(id => Images.Find(id)); //is this cool? return Images.Where( im => ids.Contains(im.Id)); //is this better, worse or the same? //is there a (better) third way? } 我意识到我可以做一些性能testing来进行比较,但是我想知道是否有比这两个更好的方法,并且正在寻找一些关于这两个查询之间的区别是什么的启发,如果有的话,一旦他们“翻译”。

ASP.NET MVC中每个请求一个DbContext(没有IOC容器)

道歉,如果这已经被回答,但如何保证一个entity frameworkDbContext每个请求,如果你不使用国际奥委会容器? (到目前为止,我所遇到的答案涉及国际奥委会容器解决scheme。) 看起来像大多数解决scheme挂钩到HttpContext.Current.Items字典,但如何保证在请求完成时处理DbContext? (或者是用EF DbContext来处理不是绝对必要的?) 编辑 我目前在我的控制器实例化和处置我的DbContext,但我也有我的DbContext在ActionFilters和我的MembershipProvider(我刚刚注意到,也是一对夫妇validation器)的几个单独的实例化。 所以,我认为集中实例化和存储我的DbContext以减less开销可能是一个好主意。

虚拟关键字在Entity Framework 4.1 POCO代码中有什么作用?

在EF Code First中的属性上使用virtual关键字是否有效? 有人可以在不同的情况下描述它的所有后果吗? 例如,我知道它可以控制延迟加载 – 如果在ICollection / one-to-many关系属性上使用virtual关键字,则默认情况下它将被延迟加载,而如果将virtual关键字取消,它将会急于加载。 在EF中使用POCO实体, virtual关键字还有什么其他效果? 我应该默认使用virtual的所有属性,或默认不使用它?

首先使用EF代码的唯一键

我在我的项目中有一个以下的模型 public class Category { public Guid ID { get; set; } [Required(ErrorMessage = "Title cannot be empty")] public string Title { get; set; } } 我试图把Title作为唯一的关​​键,我search解决scheme,但找不到任何。 有什么build议我怎么做,请吗?

该关系不能改变,因为一个或多个外键属性是不可空的

我得到这个错误,当我对一个实体的GetById(),然后将子实体的集合设置到我的新列表来自MVC视图。 操作失败:由于一个或多个外键属性不可空,因此关系无法更改。 当对关系进行更改时,相关的外键属性将设置为空值。 如果外键不支持空值,则必须定义新的关系,必须为外键属性指定另一个非空值,否则必须删除不相关的对象。 我不太明白这一行: 该关系不能改变,因为一个或多个外键属性是不可空的。 为什么我会改变两个实体之间的关系? 在整个应用程序的整个生命周期中应该保持不变。 发生exception的代码很简单,将集合中的修改过的子类分配给现有的父类。 这将有助于去除儿童class,增加新的和修改。 我会认为entity framework处理这个。 代码行可以被提炼为: var thisParent = _repo.GetById(1); thisParent.ChildItems = modifiedParent.ChildItems(); _repo.Save();