草庐IT

entity_repositories

全部标签

c# - 我应该在 Entity Framework 模型中使用 int 还是 long 作为主键

我正在编写MVC5Internet应用程序,我对模型的id字段有疑问。我应该使用int还是long作为模型中的id?我说的是用于主键的字段?如果数据库有100,000条记录,一个int就足够了吗?c#中的int与SQL数据库中的int不同吗?提前致谢 最佳答案 对于INT类型,从1开始,您将获得超过20亿可能的行-这对于绝大多数情况来说应该绰绰有余。使用BIGINT,您可以获得大约922千万亿(922有15个零-922'000亿)-对您来说足够了吗??如果您使用从1开始的INTIDENTITY,并且您每秒插入一行,全天候,您需要66

c# - Entity Framework 4 从具有多个模式的模型生成数据库

我将EntityFramework4与POCO类一起使用,但我喜欢将数据库划分为单独的模式。虽然我可以通过先设计数据库然后生成模型来做到这一点并且一切正常,但是如果我更新模型并选择从模型生成数据库它会忽略我的所有模式并在默认情况下生成所有表(或任何我已在数据库模式名称下设置)。是否可以将实体分开并从这些模式的模型使用中生成数据库?非常感谢您的帮助。我花了几个小时在Google上进行试验,我认为这是不可能的,但我想我会检查一下。 最佳答案 我认为EF4不支持这一点——正如您所说,这只是一种单程旅行,即DB->代码。我什至不认为EFvN

c# - Entity Framework 4 约定

是否可以在EF4中更改整个DbContext的约定而不是基于每个实体?目前,当我运行EF4查询时,我在外键关系上遇到错误Invalidcolumnname'Account_Id'.被查询的表(User)有一个名为AccountId的列,它是相关表(Account)的外键,如果我将该列更改为Account_Id,问题就解决了。但是,问题是我不想在每张table上都这样做。我使用NHibernate设置自定义约定没有问题,所以希望它在EF4中一样简单。 最佳答案 我认为不支持全局设置。您可能知道,您可以使用流畅的API,但这仅适用于单个

c# - 从 Visual Studio 数据库项目生成 Entity Framework 模型

我将EF5与数据库优先模型结合使用。以及VisualStudio中的数据库项目,用于维护应用程序的SqlServer数据库架构。为了更新EF模型,我将更改部署到一个空数据库中......是否可以从VisualStudio(2012)数据库项目生成和更新EF模型?更新:从dacpac文件生成它也是一个不错的选择。可能吗?更新:在MSBuild2014大会上,ADO.NET团队建议EF的future版本(如EF7)将仅使用CodeFirst方法。后来,他们澄清了新方法的名称不应该是代码优先,尽管是基于代码的建模。也许不完全一样但是asfarasIread关于它似乎quitesimilart

c# - Entity Framework 6.1 Code First Cascading Delete with TPH 用于派生类型上的一对一关系

我试图在公共(public)基类和不相关类的派生类之间创建2个一对一的关系,这样当我删除父行时,数据库中的子行也会被删除。几天来我一直在思考这个问题,并且我已经尝试了fluentapi中所有(对我来说)可以想象的关系组合。至今没有任何令人满意的结果。这是我的设置:publicclassOtherType{publicintID{get;set;}publicint?DerivedTypeAID{get;set;}publicvirtualDerivedTypeADerivedType{get;set;}publicint?DerivedTypeBID{get;set;}publicvi

c# - 在 Entity Framework 5 Code First 中覆盖 SaveChanges 以复制旧遗留库的行为

我们公司发布了一套各种操作数据库中数据的应用程序。每个应用程序都有其特定的业务逻辑,但所有应用程序共享一个公共(public)的业务规则子集。常见的东西被封装在一堆用C++编写的遗留COMDLL中,它们使用“经典ADO”(它们通常调用存储过程,有时它们使用动态SQL)。这些DLL中的大多数都有基于XML的方法(更不用说基于专有格式的方法!)来创建、编辑、删除和检索对象,还有额外的操作,例如快速复制和转换许多实体的方法。中间件DLL现在很旧,我们的应用程序开发人员想要一个新的面向对象(而不是面向xml)的中间件,它可以被C#应用程序轻松使用。公司里的很多人说我们应该忘记旧的范式,转向新的

c# - migrate.exe 无法加载 Entity Framework

在我的构建服务器上设置之前,我尝试在本地使用migrate.exe,但我什至无法运行帮助命令/?没有得到错误System.IO.FileNotFoundException:Couldnotloadfileorassembly'EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'oroneofitsdependencies.Thesystemcannotfindthefilespecified.我一直在浏览解决方案,遇到了Microsoft'smigrate.exegettings

c# - Entity Framework 的查询执行速度极慢且效率低下

我在Windows2008R2的ASP.NET上运行EntityFramework4.1和.NET4.5。我正在使用EF代码优先连接到SQLServer2008R2,并执行一个相当复杂的LINQ查询,但结果只是一个Count()。我已经在两台不同的网络服务器上重现了这个问题,但只有一个数据库(当然是生产环境)。它最近开始发生,没有在Web或数据库端更改应用程序、数据库结构或服务器。我的问题是在某些情况下执行查询会花费大量时间(接近4分钟)。我可以采用从SQLProfiler中提取的实际查询,并在大约1秒内在SSMS中执行。这对我来说是一致且可重现的,但是如果我将其中一个参数(“2015

c# - Entity Framework 4.2,无法设置标识插入

我想将记录批量添加到具有给定ID的表中,这样我就可以构建一个层次结构来以TreeView方式显示记录。我可以单独添加工作正常的记录,但我没有设置ID。我只想批量设置ID,因此我将实体的ID列中的DatabaseGenerated选项设置为NoneNone。using(TransactionScopescope=newTransactionScope(TransactionScopeOption.RequiresNew)){foreach(ErrorCodeecinerrorCodesStep3.errorcodesUsers){errorCode.ID=ec.ID;errorCode.

c# - 用于在 SQL Server 中查询 JSON 字符串的 Entity Framework

我正在寻找任何在使用EntityFramework查询JSON字符串方面做过任何事情的人。我应该简要介绍一下我在这里要做的事情。我正在使用的数据库用于我正在使用的工作流引擎。它处理所有工作流数据,还允许您将一些自定义数据存储为JSON字符串。我使用的工作流引擎在每个请求的基础上处理JSON字符串的序列化和反序列化,但如果我想根据JSON字符串中的值进行查询和过滤,我将不得不拉将整个表放入内存并反序列化所有条目,然后进行过滤。出于显而易见的原因,这是NotAcceptable。这样做的原因是,我们想要一个单一的工作流数据库,它可以用于所有使用该工作流引擎的应用程序,并且我们正在努力避免必