Tag: entity framework 4

如何在Entity Framework中添加或删除多对多关系?

有一个多对多的UserFeed表位于User和Feed之间,表示类似Twitter的跟随关系。 它只有两个字段,形成一个复合键: UserID和FeedID 。 我需要编写一个方法,根据布尔标志从订阅源订阅或取消订阅用户。 public void SetSubscriptionFlag (int userId, int storeId, bool subscribe) { } 我是Entity Framework的新手,所以我试图找到并遵循“EF-ish”方式来实现这一目标。 我最初的想法是: 我应该创建一个多对多的Subscriptions属性( 编辑:这里的命中限制 ),而不是使用中间的UserFeed类; 在我这样做之后,我需要通过ID获取User实例,检查它是否在其Subscriptions提供了Feed并根据标志和当前存在添加/删除它; 在检查和添加/删除之前有一段时间间隔并且用户设法提交两个添加或删除请求时,弄清楚如何避免竞争冲突; 优化我的代码,以避免不必要的SELECT,如果有的话,因为我真正想做的只是一个SELECT和单个INSERT / DELETE。 我非常感谢您对我的观点的相关代码段和评论。 谢谢!

EF4如何调用标量UDF

我试图从entity framework中调用SQL Server中的标量UDF。 它显示在Store部分的模型浏览器中。 任何帮助都是赞赏的.. //In the EDMX File it shows up in the storage model // In the Code I am trying to call as mentioned in the Forum http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/92a3214b-a662-44d5-bed3-11eae9926be6/ var query = _context.CreateQuery(“IRISModel.Store.GetPerformanceIndicator(@curr, @fund, @inv)”, new System.Data.Objects.ObjectParameter(“inv”, invfund.Investors.Investor_ID), new System.Data.Objects.ObjectParameter(“fund”, invfund.Funds.Fund_ID), new System.Data.Objects.ObjectParameter(“curr”, invfund.Currency.Currency_ID)); var x2 = query.Execute(System.Data.Objects.MergeOption.NoTracking); x = x2.FirstOrDefault(); //<<– This […]

entity framework4:多对多关系IQueryable而不是ICollection

大家,早安, 我试图解决我首先遇到的EF代码问题。 我的架构如下 public class Article : IUrlNode { [Key] public Guid ArticleID { get; set; } public string Title { get; set; } public DateTime DateCreated { get; set; } public DateTime DateUpdated { get; set; } public string Summary { get; set; } [System.ComponentModel.DataAnnotations.InverseProperty(“CategoryArticles”)] public virtual IQueryable ArticleCategories { get; set; } public […]

包含相同对象列表的对象的entity framework映射

目前在我的代码中,我正在做这样的事情 public class Subject { private List _prerequisites; } 一个科目可以有许多先决条件(也是科目),科目可以是许多科目的先决条件。 我们最初使用类型化数据集将数据保存到数据库,我们的表看起来像这样: 我们现在想要从使用类型化数据集迁移到entity framework,但我不确定如何创建映射。 从数据库生成EF并不真正起作用,因为它只丢弃每个表并使用外键作为导航属性。 据我所知,EF不需要另一个实体来实现多对多的关系。 如果有人可以提供帮助,那就太好了! 干杯!

数据注释未显示MVC 4中的部分实体类

我已经看到了几十个关于如何通过部分类将元数据注释添加到通过entity framework生成的类的解释, 数据库优先 。 有人能告诉我为什么这些新的显示值没有显示在我的视图中吗? 这两个都是与我的entity framework生成的类相同的命名空间的一部分。 [MetadataType(typeof(xRef_CodesMetadata))] public partial class xRef_Codes { } public class xRef_CodesMetadata { public int CodeID { get; set; } public int CTB_ID { get; set; } [Required(ErrorMessage = “Please type a name”)] [Display(Name = “Code Name”)] [Column(TypeName = “Code Name”)] public string CodeName { get; set; } [Required(ErrorMessage = […]

如何使用entity framework中的位置计算关联实体

我有这个: var queryResult = (from post in posts select new { post, post.Author, post.Tags, post.Categories, Count = post.Comments.Count() }).ToList(); 但是我需要这样的东西: var queryResult = (from post in posts select new { post, post.Author, post.Tags, post.Categories, Count = post.Comments.Where(x=>x.IsPublic).Count() }).ToList(); 但是post.Comments是一个ICollection

构建动态where子句,Linq To Sql

我首先使用EF Code 4.2,当where子句需要动态构建时,你建议采用什么样的解决方案? 然而,包含function非常需要: var results = db.Set.Where(“dynamic conditions”).Include(“….”); 上面的动态条件需要查找到另一个表来过滤记录:如果我想在Linq表达式中编写它,它将类似于: var result = db.Set().Where(c=>c.AccountId == _Id_param || db.Set().Any(a=>a.FkFieldId == c.AccountId && a.ParentId == _Id_param)).Include(“Quotes”); 我基本上需要上面表达式的动态linq,因为对于不同类型的Where子句字段更改(Contact只是一个示例),例如在一个Model中,FK字段可能是“AccountId”,而在另一个Model中,它需要是“AccountFKId” ”。 所以Where子句必须是动态的!

entity framework代码对象实例化的第一个回调

这可能是一个遥不可及的问题,但是只要从数据库加载了一个新实例(作为例如linq查询的一部分),调用Create或类似物,就可以在实体对象中进行回调激活。 ? 这种回调的目的是从封闭的业务对象传达上下文或一组初始化参数。

如何将枚举值保存到数据库?

例如: namespace PizzaSoftware.Data { public class User { public string Username { get; set; } public string Password { get; set; } public Permission PermissionType { get; set; } } public enum Permission { Basic, Administrator } } 如果我使用Entity-Framework的CodeFirst,我该如何保存这个值? 这适用于Windows窗体,桌面应用程序。 谢谢!

通用存储库按EF4中的ID选择

所以我正在尝试为基础存储库类创建一个通用的ID方法select。 为了达到这个目的,我使用EF4和POCO。 我创建了一个名为Id的getter接口,并成功修改了T4模板,以便在返回PK的所有实体中都有一个通用的Id属性。 我使用查询时出现问题。 我正在实现它: public virtual T GetByID(int id) { return Database.ObjectSet().SingleOrDefault(entity => entity.Id == id); } 即使ObjectSet返回的所有实体都将Id属性设置为当前的主键值,我也会遇到一个奇怪的错误: LINQ to Entities不支持指定的类型成员“Id”。 仅支持初始化程序,实体成员和实体导航属性。 我错过了什么吗?