Tag: entity framework 4

Linq-to-Entities查询中的格式化日期会导致exception

我有提交日期时间的Entity类,我想选择不同的’mon-yyyy’格式的datetime字段值并填充下拉列表。 以下代码给出了错误: var env = db.Envelopes.Select(d => new { d.ReportDate.Year, d.ReportDate.Month, FormattedDate = d.ReportDate.ToString(“yyyy-MMM”) }).Select(d => d.FormattedDate) List _months = new List(); foreach (var mname in env) { _months.Add(new SelectListItem() { Text = mname, Value = mname }); } 错误信息: LINQ to Entities无法识别方法’System.String ToString(System.String)’方法,并且此方法无法转换为商店表达式。 如何更正此错误消息? 谢谢SR

entity framework无法处理简单的表变量?

存储过程的最后一行: select * from @t 更新了模型并找到了存储过程 试图使用向导导入一个新function,它说没有找到任何列。 真的吗? 有人告诉我它的谎言。 create procedure WorkIt as set nocount on create table #pivot ( Name varchar(30), Value decimal, Grade varchar(2) ) insert into #pivot select ‘Repeating Pct’, 1, ‘K’ union all select ‘Repeating Pct’, 2, ‘1’ union all select ‘Repeating Pct’, 3, ‘2’ union all select ‘Repeating Pct’, 4, […]

使用Entity Framework 4以编程方式读取外键元数据

有谁知道如何从edmx生成的entity framework中获取模式信息? 具体来说,我想设法遍历我当前没有实例的实体的外键,并获得它的外键关系,我希望通过reflection以一种通用方式应用于任何实例每次都没有自定义代码的实体类。 EG:我的架构有2个类,User和Group。 我知道数字“42”来自“用户”实体的“GroupId”属性,但目前我无法弄清楚如何检测“User”外键的“GroupId”属性“Group”实体由它的“GroupId”属性组成。

是什么导致.Attach()在EF4中变慢?

我们的代码中有一个通用的更新方法 foreach (var entity in entityList) { Context.GetIDbSet().Attach(entity); Context.SetState(entity, EntityState.Modified); } 我通过传入一个实体的枚举并按每个实体调用一次来测试它。 我发现的是1000个实体的枚举大约需要47秒才能运行。 这是预期的行为吗? 或者代码片段有问题吗? 分析显示Attach()方法比SetState()方法慢。 我运行的测试是在具有50个属性的实体上,如果有任何影响则没有关系。

entity framework – 渴望加载子类相关对象

我想知道是否有可能为给定类的某些子类加载相关实体。 class级结构如下 Order与许多基本子类(SuborderBase)有关。 MySubOrder类inheritance自SuborderBase。 我想在加载Order时指定Include()加载MySubOrder相关实体(Customer)的路径,但是我得到一个错误,声称SuborderBase和Customer之间没有关系。 但是MySubOrder和Customer之间存在关系。 以下是查询失败 Context.Orders.Include(“SubOrderBases”).Include(“SubOrderBases.Customers”) 我该如何明确指定? 更新。 实体计划如下

在EF4中更改db表名称(entity framework4)

有谁知道如何在EF4(entity framework4)中更改实体的映射数据库表? 稍后编辑:我想我已经在模型浏览器中找到了定义表名的位置。 但他们的名字是只读的,所以不可能使用设计师编辑它们。 此外,没有引用(从我搜索过的内容)到xml架构中的表名。

entity framework – 在sql server表中未设置默认值

SQL Server 2005数据库表有一个“createdon”列,其默认值设置为getdate()。 我试图使用entity framework添加记录。 ‘createdon’列未获得更新。 我是否错过了Entity框架中的任何属性,请提出建议。

存储库模式,POCO和业务实体

我知道存储库模式上已经存在很multithreading,但不知怎的,我觉得我的问题有点不同。 也许是因为昨天是我第一次听说POCO这个词。 我的问题是 – 通常,我在我的业务实体中添加和保存方法。 假设我正在编写Q / A网站,并且我有以下实体:问题,答案和评论。 如果我想使用存储库模式,我基本上只需要保留业务实体中的属性(例如,问题),并将我的操作移动到存储库类(例如,QuestionRepository),对吧? 如果这是真的,那么POCO是指具有属性的商业实体吗? 我正在使用Entity Framework 4.0,后者在edmx代码中创建了我的实体。 如果我想使用存储库模式,那么就不需要编写我自己的业务实体(问题,答案等),因为它们已经由EF生成了,对吧? 我需要的只是存储库来做CRUD? 我将为这个例子提供三个存储库,每个实体一个存储库?

是否可以阻止EntityFramework 4覆盖自定义属性?

我首先使用EF 4数据库+ POCO。 因为EF没有简单的方法来声明传入的DateTimes是种类的UTC,所以我将属性从自动生成的文件移动到另一个文件中的部分类。 private DateTime _createdOn; public virtual System.DateTime CreatedOn { get { return _createdOn; } set { _createdOn = (value.Kind == DateTimeKind.Unspecified) ? _createdOn = DateTime.SpecifyKind(value, DateTimeKind.Utc) : value; } } 但是,现在每次更新模型时,都会在T4代中再次创建自动化属性。 当然这会导致以下编译错误:“类型’Foo’已经包含’CreatedOn’的定义”。 有没有办法告诉EF不生成该属性并让我自己处理它? 更新 谢谢大家的答案…… 我创建了一个具有不同名称的新自定义属性。 public virtual System.DateTime CreatedOnUtc { get { return (CreatedOn.Kind==DateTimeKind.Unspecified) ? DateTime.SpecifyKind(CreatedOn, DateTimeKind.Utc) : CreatedOn; } set […]

如何在每个层次结构(TPH)映射中共享公用列名称

我正在使用Entity Framework 4 CTP5代码第一种方法,我有一个每层次表(TPH)映射。 层次结构中的某些类具有共同的属性。 public class BaseType { public int Id { get; set; } } public class A : BaseType { public string Customer { get; set; } public string Order { get; set; } } public class B : BaseType { public string Customer { get; set; } public string Article { […]