Questions tagged «entity-framework-4.1»

此标记用于ADO.NET实体框架4.1,它是EF的首个发行版,与.NET框架分开提供。它基于.NET 4.0中包含的核心实体框架,并于2011年3月向公众发布。

29
一个或多个实体的验证失败。有关更多详细信息,请参见“ EntityValidationErrors”属性
使用代码优先方法为数据库播种时出现此错误。 一个或多个实体的验证失败。有关更多详细信息,请参见'EntityValidationErrors'属性。 老实说,我不知道如何检查验证错误的内容。Visual Studio向我展示了这是一个包含8个对象的数组,因此出现8个验证错误。 这适用于我以前的模型,但是做了一些更改,下面解释: 我有一个名为Status的枚举,我将其更改为一个名为Status的类 我将类ApplicantsPositionHistory更改为在同一张表中有2个外键 对冗长的代码,请原谅,但我必须全部粘贴。在以下代码的最后一行中引发异常。 namespace Data.Model { public class Position { [DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)] public int PositionID { get; set; } [Required(ErrorMessage = "Position name is required.")] [StringLength(20, MinimumLength = 3, ErrorMessage = "Name should not be longer than 20 characters.")] [Display(Name = "Position name")] public string name …

10
代码优先与模型/数据库优先[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 12个月前关闭。 在EDMX图上使用实体框架4.1代码优先于模型/数据库优先的优缺点是什么? 我试图全面了解使用EF 4.1构建数据访问层的所有方法。我正在使用Repository模式和IoC。 我知道我可以使用代码优先的方法:手动定义我的实体和上下文并用于ModelBuilder微调架构。 我还可以创建一个EDMX图,并选择一个使用T4模板生成相同POCO类的代码生成步骤。 在这两种情况下,我最终POCO都产生ORM不可知的对象和源自的上下文DbContext。 数据库优先似乎是最吸引人的,因为我可以在企业管理器中设计数据库,快速同步模型并使用设计器对其进行微调。 那么这两种方法有什么区别?仅仅是关于VS2010 vs Enterprise Manager的偏爱吗?

2
忽略Entity Framework 4.1 Code First中的类属性
我的理解是,该[NotMapped]属性直到CTP中的EF 5才可用,因此我们不能在生产中使用它。 如何在EF 4.1中标记要忽略的属性? 更新:我注意到其他奇怪的事情。我可以使用该[NotMapped]属性,但是由于某些原因,即使使用public bool Disposed { get; private set; }标记为,EF 4.1仍会在数据库中创建一个名为Disposed的列[NotMapped]。IDisposeable当然,该类实现了,但我不认为这应该有多重要。有什么想法吗?

6
实体框架代码优先-来自同一表的两个外键
我刚开始使用EF代码,因此我是该主题的总入门者。 我想在团队和比赛之间建立关系: 1场比赛= 2支球队(主队,客队)和结果。 我认为创建这样的模型很容易,所以我开始编码: public class Team { [Key] public int TeamId { get; set;} public string Name { get; set; } public virtual ICollection<Match> Matches { get; set; } } public class Match { [Key] public int MatchId { get; set; } [ForeignKey("HomeTeam"), Column(Order = 0)] public int …

2
virtual关键字在Entity Framework 4.1 POCO Code First中可以产生什么作用?
virtual在EF Code First中的属性上使用该关键字是否有效?有人可以在不同情况下描述其所有后果吗? 例如,我知道它可以控制延迟加载 -如果您在ICollection /一对多关系属性上使用virtual关键字,则默认情况下将对其进行延迟加载,而如果不使用virtual关键字,它将渴望加载。 virtual关键字在POCO实体的EF中还能产生什么其他影响?我应该将其默认设置为virtual在所有属性上使用,还是默认为不使用它?

14
如何将参数传递给DbContext.Database.ExecuteSqlCommand方法?
假设我确实有必要在实体框架中直接执行sql命令。我在弄清楚如何在我的sql语句中使用参数时遇到了麻烦。以下示例(不是我的实际示例)不起作用。 var firstName = "John"; var id = 12; var sql = @"Update [User] SET FirstName = @FirstName WHERE Id = @Id"; ctx.Database.ExecuteSqlCommand(sql, firstName, id); ExecuteSqlCommand方法不允许您像在ADO.Net中一样传递命名参数,并且该方法的文档没有提供有关如何执行参数化查询的任何示例。 如何正确指定参数?

19
由于一个或多个外键属性不可为空,因此无法更改该关系
在实体上获取GetById()并将子实体的集合设置为来自MVC视图的新列表时,出现此错误。 操作失败:由于一个或多个外键属性不可为空,因此无法更改该关系。对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新的关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。 我不太明白这一行: 由于一个或多个外键属性不可为空,因此无法更改该关系。 为什么要更改2个实体之间的关系?在整个应用程序的整个生命周期中,它应保持不变。 发生异常的代码是简单地将集合中的已修改子类分配给现有父类。希望这将满足删除子类,添加新类和修改的要求。我本以为实体框架可以解决这个问题。 代码行可以简化为: var thisParent = _repo.GetById(1); thisParent.ChildItems = modifiedParent.ChildItems(); _repo.Save();

6
从DbValidationException获取确切的错误类型
我遇到的情况是,我在EF 4.1的DatabaseInitializer()中初始化我的模型,并得到此烦人的错误,"Validation failed for one or more entities. See 'EntityValidationErrors' property for more details."所以,我转到EntityValidationErrors,有一个字段{System.Data.Entity.Validation.DbEntityValidationResult}完全无法提供有关它无法初始化的字段的信息。有没有办法获取有关此错误的更多信息? 要清除问题: 我知道如何解决字符串长度问题。我要问的是如何获取破坏模型的确切字段名称。



3
通用存储库使用EF 4.1有什么意义
当我深入研究DbContext,DbSet和关联的接口时,我想知道为什么您需要围绕这些实现来实现一个单独的“通用”存储库? 看起来DbContext和IDbSet可以满足您的所有需求,并在DbContext中包含“工作单元”。 我是否在这里错过了一些东西,或者似乎人们无缘无故地喜欢添加另一层依赖。

4
如何在Entity Framework 5中包含子对象的子对象
我正在使用Entity Framework 5 code first和ASP.NET MVC 3。 我在努力填充子对象的子对象。以下是我的课程。 应用类别 public class Application { // Partial list of properties public virtual ICollection<Child> Children { get; set; } } 子班: public class Child { // Partial list of properties public int ChildRelationshipTypeId { get; set; } public virtual ChildRelationshipType ChildRelationshipType { get; …

2
实体框架联接3个表
我正在尝试加入三个表,但我不明白该方法... 我完成了加入2张桌子 var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); 我想在TID PK中包含tbl_Title表,并获取Title字段。 非常感谢

4
实体框架代码优先的空外键
我有一个User< Country模型。用户属于一个国家,但可能不属于任何国家(空外键)。 我该如何设置?当我尝试插入一个国家/地区为空的用户时,它告诉我不能为空。 该模型如下: public class User{ public int CountryId { get; set; } public Country Country { get; set; } } public class Country{ public List<User> Users {get; set;} public int CountryId {get; set;} } 错误: A foreign key value cannot be inserted because a corresponding primary key value …

2
EF 4.1代码优先的复合密钥
我试图弄清楚如何使用EF代码First 4.1 RC来组合键。 当前,我正在使用[Key]数据注释,但是我不能指定多个键。 如何指定组合键? 这是我的示例: public class ActivityType { [Key] public int ActivityID { get; set; } [Required(ErrorMessage = "A ActivityName is required")] [StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")] public string ActivityName { get; set; } } 我还需要“ ActivityName”作为键。当然,我可以对此编码,但是那不是好的数据库设计。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.