草庐IT

dbsettings

全部标签

c# - 重新加载实体和所有导航属性关联 - DbSet Entity Framework

实体关联刷新有问题。当我得到这样的实体时:MyContextcontext=newMyContext();PersonmyPerson=context.PersonSet.FirstOrDefault();StringmyPersonName=myPerson.Name;AddressmyPersonAddress=myPerson.Address;我找到了一个人,他有一个名为Address的关联和一个名为Name的属性。如果我手动修改数据库中的数据,例如属性名称,我必须使用以下代码重新加载我的实体:context.Entry(myPerson).Reload();并且我有Name的新

c# - 如何加速 DbSet.Add()?

我必须将大约30k行从CSV文件导入到我的SQL数据库中,很遗憾,这需要20分钟。使用探查器进行故障排除显示DbSet.Add花费的时间最多,但为什么呢?我有这些EntityFramework代码优先类:publicclassArticle{//About20properties,eachpropertydoesn'tstoreexcessiveamountsofdata}publicclassDatabase:DbContext{publicDbSetArticles{get;set;}}对于for循环中的每个项目,我都这样做:db.Articles.Add(article);我在f

c# - NSubstitute DbSet/IQueryable<T>

所以EntityFramework6比以前的版本更容易测试。还有someniceexamples在互联网上寻找像Moq这样的框架,但情况是,我更喜欢使用NSubstitute。我已经将“非查询”示例翻译为使用NSubstitute,但我无法理解“查询测试”。最小起订量如何items.As>().Setup(m=>m.Provider).Returns(data.Provider);翻译成NSubstitute?我想像((IQueryable)items).Provider.Returns(data.Provider);但这没有用。我也试过items.AsQueryable().Prov

c# - 关于 DbSet 和 DbContext

看到一段代码,把DbSet和DbContext混在一起了。我不擅长EntityFramework。我认为它们是不同的东西。有人能给我一点解释吗?publicclasstestContext:DbContext{publictestContext();publicstringIPAddress{get;set;}publicDbSetSettings{get;set;}publicstringUserName{get;set;}publicoverrideintSaveChanges();} 最佳答案 直观上,DbContext对应于

c# - DbSet 在 EF7 中没有 Find 方法

我正在尝试创建一个通用存储库来访问我的数据库。在EF6中,我能够这样做以获得特定实体:protectedIDbSetdbset;publicTGet(objectid){returnthis.dbset.Find(id);}EF7中的DbSet缺少Find方法。有没有办法实现上面这段代码? 最佳答案 这是一个非常粗糙、不完整且未经测试的.Find()实现作为扩展方法。如果不出意外,它应该能让您指明正确的方向。真正的实现由#797跟踪.staticTEntityFind(thisDbSetset,paramsobject[]keyVa

c# - 我应该如何删除 DbSet 中的所有元素?

使用EntityFramework4.3删除System.Data.Entity.DbSet中所有元素的最佳方法是什么? 最佳答案 dbContext.Database.ExecuteSqlCommand("deletefromMyTable");(不是开玩笑。)问题是EF不支持任何批处理命令,并且不使用直接DML删除集合中所有实体的唯一方法是:foreach(varentityindbContext.MyEntities)dbContext.MyEntities.Remove(entity);dbContext.SaveChang

c# - DbSet.Attach(entity) 与 DbContext.Entry(entity).State = EntityState.Modified

当我处于分离场景并从客户端获取dto时,我将其映射到实体以保存它,我这样做:context.Entry(entity).State=EntityState.Modified;context.SaveChanges();DbSet.Attach(entity)有什么用?或者当EntityState.Modified已经附加实体时,为什么我应该使用.Attach方法? 最佳答案 当您执行context.Entry(entity).State=EntityState.Modified;时,您不仅将实体附加到DbContext,您还标记了整