我得到这个错误“对象不能被删除,因为它没有在ObjectStateManager中find。 我的代码是: protected MyEntities sqlEntities; public virtual void Delete(TEntity entity) { System.Type t = typeof(TEntity); sqlEntities.DeleteObject(entity); sqlEntities.SaveChanges(); }
我想在entity framework中使用存储过程,不返回任何内容。 我做了以下几点: 添加一个函数(右键单击存储过程 – >添加 – >函数导入 – >复杂types – >获取列信息 – >创build新的复杂types) 我的函数名称: summarySP_Result 。 在构build项目之后,实体类不会在Generated_code ( BusinessAccount.web.g.cs )中Generated_code 但是表和视图的实体类都是创build的,但不是存储过程。 任何人都可以给出这个想法,为什么它不是在BusinessAccount.web.g.cs生成实体类? 更新: 让我确认在XXXXXX.web.g.cs类中创build的ReturnDataFromTemTable_result实体类。 喜欢 : [DataContract(Namespace="http://schemas.datacontract.org/2004/07/BizFramework.Web.Model")] public sealed partial class ReturnDataFromTemTable_Result : Entity { ——————- }
如果我有以下实体: public class PocoWithDates { public string PocoName { get; set; } public DateTime CreatedOn { get; set; } public DateTime LastModified { get; set; } } 其中对应于具有相同名称/属性的SQL Server 2008表… 我如何自动 : 将logging的CreatedOn / LastModified字段设置为现在 (执行INSERT时) 将logging的LastModified字段设置为现在 (执行UPDATE时) 当我自动说,我的意思是我想能够做到这一点: poco.Name = "Changing the name"; repository.Save(); 不是这个: poco.Name = "Changing the name"; poco.LastModified = DateTime.Now; repository.Save(); […]
目前,当我需要运行一个查询,将使用瓦特/分页我这样做是这样的: //Setup query (Typically much more complex) var q = ctx.People.Where(p=>p.Name.StartsWith("A")); //Get total result count prior to sorting int total = q.Count(); //Apply sort to query q = q.OrderBy(p => p.Name); q.Select(p => new PersonResult { Name = p.Name }.Skip(skipRows).Take(pageSize).ToArray(); 这工作,但我想知道是否有可能提高这个效率,而仍然使用linq? 我想不出一种方法来结合使用存储过程一次访问数据库的数据检索数据库。
我有一个entity framework对象,当我将它添加到我的项目, connectionstring entitycontext被添加到connectionstring entitycontext节app.config中,但是当我想要创build新的entitycontext并使用此connectionstring entitycontext ,出现此错误
我即将开始实施一个以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实体生成器吗?
更新3:根据这个公告 ,EF小组已经在EF6 alpha 2中解决了这个问题。 更新2:我已经创build了一个解决这个问题的build议。 为了投票, 去这里 。 考虑一个具有一个非常简单的表的SQL数据库。 CREATE TABLE Main (Id INT PRIMARY KEY) 我用10,000条logging填充表格。 WITH Numbers AS ( SELECT 1 AS Id UNION ALL SELECT Id + 1 AS Id FROM Numbers WHERE Id <= 10000 ) INSERT Main (Id) SELECT Id FROM Numbers OPTION (MAXRECURSION 0) 我为表build立一个EF模型,并在LINQPad中运行以下查询(我使用“C#语句”模式,因此LINQPad不会自动创build一个转储)。 var rows = Main […]
var result = (from bd in context.tblBasicDetails from pd in context.tblPersonalDetails.Where(x => x.UserId == bd.UserId).DefaultIfEmpty() from opd in context.tblOtherPersonalDetails.Where(x => x.UserId == bd.UserId).DefaultIfEmpty() select new clsProfileDate() { DOB = pd.DOB }); foreach (clsProfileDate prod in result) { prod.dtDOB = !string.IsNullOrEmpty(prod.DOB) ? Convert.ToDateTime(prod.DOB) : DateTime.Today; int now = int.Parse(DateTime.Today.ToString("yyyyMMdd")); int dob = int.Parse(prod.dtDOB.ToString("yyyyMMdd")); string dif = […]
我有一个像这样的expression: var values = Enumerable.Range(1,2); return message => message.Properties.Any( p => p.Key == name && int.Parse(p.Value) >= values[0] && int.Parse(p.Value) <= values[1]); 这编译好,但是当它碰到数据库时,它会抛出exception'LINQ to Entities does not recognize the method 'Int32 Parse(System.String)' method, and this method cannot be translated into a store expression ' 如果我不做parsing和值是一个string[]我不能然后使用>=和<=操作符的string。 p.Value是一个保存各种值的string,但在这种情况下它是int 有没有一种方法,我可以查询数据库做这种之间的语句?
我创build了一个“Code Only”POCO,用于使用entity framework4和CTP4的现有数据库。 当我运行一个查询时,我得到了错误 自从创build数据库以来,支持“xyzContext”上下文的模型已经发生了变化。 可以手动删除/更新数据库,也可以使用IDatabaseInitializer实例调用Database.SetInitializer。 例如,RecreateDatabaseIfModelChanges策略将自动删除并重新创build数据库,并可以select将其与新数据结合使用。 我不清楚为什么会发生这种情况,或者我可以改变。 我只是创build了POCO,定义了一个简单的DbContext,做了一些调整,然后尝试运行一个简单的查询。 由于我使用“仅限代码”,因此我不了解需要进行的任何configuration设置。 我当然不想重新创build或删除数据库,因为它是一个现有的数据库。 感谢您的任何想法。