Tag: entity framework 5

在类中使用UserProfile外键在MVC 4中创建新的配置文件

我正在尝试创建一个使用内置MVC用户配置文件作为身份validation方法的基本网站。 我正在使用MVC4.0和Entity Framework。 我有一个主数据类,它使用UserProfile模型作为外键。 该类是“游戏”类,用于将游戏与特定用户相关联。 我还在UserProfile类中添加了另一个成员,作为此项目的必需品。 每当我尝试添加一个新游戏时,其中有一个用户的配置文件作为外键,服务器最终会完全创建一个新的用户配置文件,即使我专门制作它以便它是同一个用户。 作为尝试解决此问题的一部分,我将Game对象添加到用户配置文件DbContext,但这根本没有帮助,而且每次我将新游戏插入数据库时​​我仍然会创建新用户。 我的模型如下: public class Game { public int ID { get; set; } [ForeignKey(“UserId”)] public virtual UserProfile Profile { get; set; } public int UserId { get; set; } } [Table(“UserProfile”)] public class UserProfile { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { […]

.Net的entity framework

我正在使用最新的Entity Framework和DBContext。 我有一个结果集,我想转换为逗号分隔值。 我在VB DataTable中使用DataTables做了类似的事情来进行CSV提取 。 我有QuoteName方法工作。 我也得到了使用foreach工作的GetCSV方法的衍生物。 问题是它比DataTable的可比代码要慢得多。 所以我希望有人会有一些建议。 public static string GetCSV(this IQueryable entity) { if (entity == null) { throw new ArgumentNullException(“entity”); } Type T = entity.ElementType; var props = T.GetProperties(BindingFlags.Public | BindingFlags.Instance); string s = string.Empty; int iCols = props.Count(); try { s += string.Join(“,”, (from int ii in Enumerable.Range(0, iCols) […]

在EntityFramework中克隆具有多对多关系的对象

我想要的只是创建一个对象的精确副本。 我上课了 [Serializable] public class Project { public int Id { get; set; } public String Name { get; set; } //navigational fields.. public virtual List BusinessRequirements { get; set; } } 和另一个 [Serializable] public class BusinessRequirement { public int Id { get; set; } public String Name { get; set; } public String Description […]

获取具有条件的子实体的实体对象(使用Dynamic Linq)

这个问题是Dynamic Lambda Expression中的Getting Count()属性的延续 我问过我们是否可以将Count()方法放在动态lambda表达式中。 我可以使用Dynamic Expression API来完成它。 答案由 – xmojmr提供 但是最近我不得不实现一个Dynamic Lambda Expression来获得带有过滤数据的子实体的结果。 细节 : 我有一个父实体与其子实体链接。 现在,当我从父实体获取数据时,它也会返回包含其子数据的数据集合。 根据我之前的要求,我必须计算每个父记录返回的所有子记录。 我用它做了 – ParameterExpression cParam = Expression.Parameter(typeof(CPNDBase), “c”); NewExpression newExp = Expression.New(typeof(DTDataModel)); List bindings = new List(); MemberInfo memberInfo = typeof(DTDataModel).GetMember(“FILE_COUNT”)[0]; Dictionary paramExSymbols = new Dictionary(); paramExSymbols.Add(“c”, cParam); Expression expression = System.Linq.Dynamic.DynamicExpression.Parse(null, “c.CPNDocs.Count()”, paramExSymbols); MemberBinding memberBinding = […]

EF5多对多更新已断开连接的方案

我没有找到一个很好的解决方案来解决这个问题(类似的票据在这里EF5更新断开连接图(n层)一对多 )。 我发现并遵循了这个例子: http : //entityframeworktutorial.net/update-many-to-many-entities-in-entity-framework.aspx#.UTBeTDBhif8 。 这工作正常,但它创建了相关实体的副本(使用sql profiler我看到Insert into RelatedEntities ..我希望只是在MyEntities_Related连接表上插入/更新,我不明白为什么EF插入在RelatedEntities表上:( 这是我的代码: public void AddOrUpdate(MyEntity entity) { var dbEntity = _context.MyEntities .Include(e => e.RelatedEntitis) .Where(e => e.ID == entity.ID) .SingleOrDefault(); var newRelated = entity.RelatedEntitis.ToList(); var dbRelated = dbEntity.RelatedEntity.ToList(); _context.Entry(dbEntity).CurrentValues.SetValues(entity); var comparer = new EqualityComparer(); var addedRelated = newRelated.Except(dbRelated, comparer).ToList(); var deletedRelated = dbRelated.Except(newRelated, comparer).ToList(); […]

在Entity Framework中获取被忽略的属性

我在EF的框架上工作。 我想获取实体的所有被忽略的属性来构建一些特殊的查询。 我该怎么做? public class Customer { public int Id { get; set; } public DateTime BirthDate { get; set; } public int Age { get; set; } } public class CustomerContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().Ignore(customer => customer.Age); base.OnModelCreating(modelBuilder); } public DbSet Customers { get; set; } } public […]

EF数据库首先如何更新数据库更改模型?

在类库中, Ado.net Entity Data Model已生成POCO类。 这些都是第一次生成。 但数据库的变化没有得到反映。 在edmx图中右键单击并Update Model from Database选择Update Model from Database显示新创建的表,但即使在选择要添加后也不添加表。 我尝试运行.tt(通过右键单击并运行自定义工具),但即使它没有根据最新的数据库更改重新生成Poco类。 请帮忙

如何首先在Entity Framework 5代码中使用两个外键创建主键?

我有一个实体,其中主键包含两个外键到另外两个表。 我有配置使用以下,但该表是使用两个FK引用生成的。 桌子: domain.Entity1 MorePK (PK, FK, int, not null) Entity2_Id (PK, FK, int, not null) Entity3_Id (PK, FK, int, not null) OtherData (varchar, null) Entity2_Id1 (FK, int, null) Entity3_Id1 (FK, int, null) 由以下内容生成: public Entity1 { public int MorePK { get; set; } public int Entity2_Id { get; set; } public int Entity3_Id { […]

EF linq / lambda .contains(list )?

有没有办法评估一个字符串是否包含列表的某些元素或列表的所有元素? 使用linq实体? 我一直在尝试使用谓词构建器和其他人,但我不是%100进入thoses。 编辑 就像是: string[] words = searchString.Split(‘ ‘); var resultado = db.users .Where(u => u.fullName.contains(words) ) .Select(s => new { user_id = s.id_user, nombre = s.fullName}) .ToList();

EF 5-6.1.1中的NullReferenceException,具有相同类型的两个导航属性

我想首先谈谈我有一个解决这个问题的方法 – 但我今天花了几个小时搞清楚exception的原因,所以我想我会分享 给定域中的两个实体: public class User { public int Id { get; set; } public string Name { get; set; } } public class Ticket { public int Id { get; set; } public string Name { get; set; } public virtual User Owner { get; set; } public int? LockedByUserId { get; set; […]