草庐IT

IS_REPLACING_ENTITY_REFERENCES

全部标签

c# - 如何在 Entity Framework 中使用 DateTime.AddDays(x)

我有这个代码:fromprine.ProgramSetup.Include("Program").Include("Program.Client")wherepr.DateBeginDateTime.Now.AddDays(pr.DateEndOffset)selectpr).ToList();它不起作用,因为AddDays()不可能用于生成sql。那么还有别的办法吗?现在我选择所有内容并最终通过foreach对其进行过滤,但我认为这不是好方法。问题是pr.DateEndOffset也只在db中,它不是常量... 最佳答案 usin

c# - MSDN : What is "Thread Safety"?

在许多MSDN文档中,这写在线程安全标题下;“此类型的任何公共(public)静态(在VisualBasic中为共享)成员都是线程安全的。不保证任何实例成员都是线程安全的。”例如;here有人可以用一种相当简单的方式解释一下吗?谢谢:) 最佳答案 埃里克·利珀特(EricLippert)表现出色blogpost对这个。基本上它本身有点毫无意义。当我看到那个样板时,就我个人而言,在这方面我不太相信MSDN。它并不总是意味着它所说的。例如,它对Encoding说了同样的话-尽管事实上我们都在各处使用来自多个线程的编码。除非我有任何理由不

c# - Entity Framework : difference between Detach and AsNoTracking

我的目标是复制一个现有的实体,稍微修改它,然后插入修改后的版本。我尝试了两种似乎都有效的不同方法:varthing=context.Things.Where(x=>x.SomeID==someid).AsNoTracking().Single();thing.AnotherID=1234;context.Things.AddObject(thing);context.SaveChanges();varthing=context.Things.Where(x=>x.SomeID==someid).Single();context.Detach(thing);thing.AnotherID

c# - 使用 Entity Framework 的输出参数执行 SQL 存储过程

我尝试使用EF执行一个返回单个字符串值(即SQL代理作业的状态)的存储过程。存储过程声明为CREATEPROCEDURE[dbo].[up_GetJobStatus](@JobStatusNVARCHAR(30)OUTPUT)AS--somecodeomittedforbrevitySELECT@JobStatus=(SELECTCASEjob_stateWHEN1THEN'Executing'WHEN2THEN'Waitingforthread'WHEN3THEN'Betweenretries'WHEN4THEN'Idle'WHEN5THEN'Suspended'WHEN6THEN'

c# - Entity Framework 6 异步操作和 TranscationScope

我在stackoverflow上搜索,没有找到类似的问题,如果已经有请指出我。我试图通过同步和异步操作实现一个通用的可重用存储库,但由于我对EntityFramework和工作单元知之甚少,我正在努力寻找实现它的正确方法。我在SaveAndCommit操作上添加了一些变体,但不知道使用事务和异步执行此操作的最佳方法是什么。----Edit----AspermyunderstandingtransactionsshouldbeusedwhenmorethanoneoperationsisperformedbutforunderstandingpurposesIuseditforoneop

c# - 为什么存储库模式在 Entity Framework 中被广泛使用,好像它很复杂?

我正在创建一个演示项目,其中包含使用存储库模式和依赖项注入(inject)的crud操作。这是我的结构:方法1(非常流行,被许多开发人员使用)我的存储库界面:publicpartialinterfaceIRepository{voidInsert(Tentity);}我的服务层:publicpartialinterfaceIEmployeeService{voidInsertCategory(EmployeeMasteremployeeMaster);}我的类将实现该接口(interface)(服务):publicpartialclassEmployeeService:IEmploye

c# - 为什么使用 Attach 更新 Entity Framework 6?

在搜索通过EF执行CRUD操作的最佳实践时,我注意到强烈建议在更新实体之前使用Attach()或Find()方法.它运行良好,根据EF文档,这些方法将实体提取到对我来说非常清楚的上下文中。但是下面的代码让我很困惑publicvoidUpdate(objectentity){Recordrecord=newRecord(){id=1,value=5};using(SomeContextctx=newSomeContext()){ctx.Entry(record).State=EntityState.Modified;ctx.SaveChanges();}}假设我们在数据库中有一条id=1

c# - Entity Framework Core 2.0.1 在所有嵌套的相关实体上预先加载

我有一个简单的问题,但似乎找不到解决方法。我正在使用EntityFrameworkCore版本2.0.1,并希望在默认情况下预先加载我的所有实体。例子:publicclassOrder{publicintId{get;set;}publicstringName{get;set;}publicintCustomerId{get;set;}publicCustomerCustomer{get;set;}}publicclassCustomer{publicintId{get;set;}publicstringName{get;set;}publicintAddressId{get;set;

c# - 数据库错误 : There is no row at position 0

我相信几个月前有人问过这个问题,但我相信我的情况不同,同样的规则可能不适用。每次我执行这个方法都会弹出同样的错误。位置0处没有行。如果我将[0]更改为[1]或[15];[1]等处没有行。这是否意味着我的数据库甚至没有连接?我是否应该编写某种if语句来确定检查行是否存在?publicboolUpdateOrderToShipped(stringorder){orderNumber=order;stringbatch=ConfigurationManager.AppSettings["SuccessfulOrderBatch"];stringstatement="UPDATESOP1010

c# - 是否可以创建用于将项目添加到 Entity Framework dbset 的通用方法?

我之前没有使用过EntityFramework或泛型,在减少我的代码时遇到了一些困难。我正在解析一个文本文件以加载10个查找表,其中包含可能每晚都可能更改的数据。文本文件有一个“类型”标题,后跟键/值集列表。我已经完美地工作了,但我想重构代码以清理它,并想使用通用方法来完成它,这样我就可以减少重复的代码。我已经将解析归结为通用方法,但我无法弄清楚如何以通用方式将实体添加到上下文中。我必须遍历每种类型的实体列表并将它们添加到上下文中:voidMain(){switch(line.ToUpper()){case"AREA":{ListareaList=this.GetItems(file)