草庐IT

c# - EF6 : Renaming namespace using Code First Migrations

我可以重命名我整个项目的命名空间(当然包括:DbContext类、迁移配置类等)而不破坏任何东西或不必重新创建我的所有迁移?比如说,我有ProjectMyProject,命名空间是Foo.MyProject我的配置类在Foo.MyProject.Migrations假设我想为Bar重命名Foo命名空间,当然我的Configurations命名空间现在将是Bar.MyProject.Configurations是否有任何正确的方法可以做到这一点并保持我当前的所有迁移仍然有效?这些方法是否涉及手动编辑___MigrationHistory表或其他内容?(我一眼就看到了ContextKey列

c# - 如何使用 EF 5.0 Code First 启用并发检查?

我想在原子操作中进行先检查后更新。我正在使用dbcontext来管理事务。如果记录已被另一个线程修改但没有抛出异常,我希望得到一个异常。任何帮助,将不胜感激。这是我的输出:Thread-4:Reading...Thread-5:Reading...Thread-5:Updatingdestination1Thread-4:Updatingdestination1Thread-4:SaveChangesThread-5:SaveChanges这是我的代码片段:publicstaticvoidMain(string[]args){PopulateData();(newThread(Upda

c# - 如何更新远程 ms sql server 上的数据库(EF 代码优先)

在开发应用程序时,我使用了EF自动迁移。所以现在当我在VPS上部署我的应用程序时,我不知道如何向我的数据库添加新表和字段。我可以直接从我在VS2012中的项目连接到远程数据库,更新连接字符串,然后在包管理器控制台中使用“update-database”更新数据库吗?或者我需要在我的VPS上安装VS并从VPS更新数据库吗?我的数据库已经装满了数据,所以我不能删除它并重新创建。 最佳答案 是的,您可以使用VisualStudio,关注thistutorial-它也应该适用于VS2012。您也可以使用CodefirstMigration在

c# - 如何在 EF Core 中查询多对多关系

我正在为Web项目使用.NETCore和EFCore。我正在努力如何查询多对多关系。这是我的模型的样子:publicclassBegrip{publicintID{get;set;}publicstringName{get;set;}publicstringDesc{get;set;}[Url]publicstringURL{get;set;}publicICollectionCategories{get;set;}}publicclassCategory{publicintID{get;set;}publicstringName{get;set;}publicICollectionB

c# - Webforms 数据绑定(bind)与 EF Code-First Linq 查询错误

在这个例子中here,Scott展示了对dbContext执行Linq查询并将结果直接绑定(bind)到GridView以显示产品列表。他的示例使用了CodeFirst的CTP4版本。但是,当我尝试使用最新版本的EntityFramework4.1做同样的事情时,我收到以下错误:Databindingdirectlytoastorequery(DbSet,DbQuery,DbSqlQuery)isnotsupported.InsteadpopulateaDbSetwithdata,forexamplebycallingLoadontheDbSet,andthenbindtolocald

c# - 永久禁用 EF 中的 Configuration.ProxyCreationEnabled?

有没有一种方法可以在全局范围内设置该值,而不是必须对每个查询都执行以下操作?模型View中有延迟加载设置,但似乎没有ProxyCreation的设置。using(varcontext=newLabEntities()){**context.Configuration.ProxyCreationEnabled=false;**varQuery=fromsincontext.EAssets.Include("Server").Include("Type").Include("Type.Definition")where(s.Type.Definition.b_IsScannable==tr

c# - EF 6 使用 TPT 报错都具有相同的主键值

我有一个关于TPT+EF6的大问题。在我的数据库模型中,我有一张表Person(我的应用程序中人员的基本信息),并且我有用于Supplier和Consumer的表.我的类(class)是://totabledbo.PersonpublicclassPerson{publiclongId{get;set;}//ispkpublicstringName{get;set;}}//totabledbo.SupplierpublicclassSupplier:Person{publiclongId{get;set;}//ispkandfkpublicstringProductName{get;s

c# - EF4 CTP5 POCO 中的软删除、导航属性

基本上,我想使用软删除,但导航属性不显示软删除记录。有什么方法可以拦截EntityFramework中POCO对象的导航属性查询吗?非常简单的例子:publicclassProduct{publicintId{get;set;}publicstringName{get;set;}publicint?CategoryId{get;set;}publicvirtualCategoryCategory{get;set;}publicboolIsDeleted{get;set;}}publicclassCategory{publicintId{get;set;}publicstringName

c# - EF 6 过滤子集合

我正在尝试将旧项目从Linq2Sql迁移到EF6,但我遇到了以下问题。这个项目是多语言的(即所有文本都有不止一种翻译)并且我有以下数据库结构:获取所有ExampleEntity1对象以及按当前语言ID过滤的所有LocalizedContent记录的最佳方法是什么?我可以使用以下代码加载包含所有LocalizedContent记录的所有ExampleEntity1对象:dc.ExampleEntity1.Include(ee=>ee.TextEntry.LocalizedContents);在Linq2Sql中,我可以使用loadOptions.AssociateWith过滤Locali

c# - EF vs SQL 奇怪的慢

在大量多线程的情况下,我遇到了特定EF查询的问题。它通常便宜且快速:Context.MyEntity.Any(se=>se.SameEntity.Field==someValue&&se.AnotherEntity.Field==anotherValue&&se.SimpleField==simpleValue//fewmoresimplepredicateswithfieldsonthemainentity);这编译成一个非常合理的SQL查询:SELECTCASEWHEN(EXISTS(SELECT1AS[C1]FROM(SELECT[Extent1].[Field1]AS[Fiel