草庐IT

depth_first_search

全部标签

C# EF Code First 虚拟关键字,它有什么作用?

为什么我们在声明导航属性时需要使用“virtual”关键字?我知道CodeFirst框架以某种方式使用它来识别该属性是一个导航属性,但我想知道如何。具体来说,我想知道它与MSDN文档中针对“virtual”关键字的描述有何关系:http://msdn.microsoft.com/en-us/library/9fkccyh4(v=vs.80).aspx 最佳答案 在运行时,EntityFramework将为您生成所谓的代理实体。这些实体是派生自您的实体类型的动态创建类型的对象。这允许您将您的实体用作POCO,它是一个与EntityFr

c# - 如何在 Entity Framework 4.1 的 Code-First Fluent API 中以编程方式定义关系

我正在玩弄新的EF4.1unicornlove。我正在尝试了解可以使用代码优先来以编程方式定义几个简单POCO之间的关系的不同方式。如何定义以下内容=>1Team有0-manyUser。(并且User在1个Team中)1User有0或1个Foo(但是Foo没有返回给User的属性)1User有1个UserStuff 最佳答案 这里有您正在寻找的示例:publicclassUser{publicintId{get;set;}...publicFooFoo{get;set;}publicTeamTeam{get;set;}publicU

c# - EF Code First MigrateDatabaseToLatestVersion 从配置中接受连接字符串名称

在我的项目中尝试实现EF迁移时,我被困在一个地方。EFCodeFirstMigrateDatabaseToLatestVersion接受来自配置的连接字符串名称。在我的例子中,数据库名称在运行时已知(用户从下拉列表中选择它)。正如DbContext在其构造函数中接受ConnectionString或connectionStringName的方式,“MigrateDatabaseToLatestVersion”不接受相同的System.Data.Entity.Database.SetInitializer(newMigrateDatabaseToLatestVersion(connStr

c# - Entity Framework : The context is being used in Code First mode with code that was generated from an EDMX file

我正在使用EF6数据库优先方法开发一个WPF应用程序,我的解决方案中有一个项目,如果我运行我的项目,这个错误总是出现。上下文在代码优先模式下使用,代码是从数据库优先或模型优先开发的EDMX文件生成的。这将无法正常工作。要解决此问题,请不要删除引发此异常的代码行。如果您希望使用数据库优先或模型优先,请确保EntityFramework连接字符串包含在启动项目的app.config或web.config中。如果您要创建自己的DbConnection,请确保它是一个EntityConnection而不是其他类型的DbConnection,并且您将它传递给采用DbConnection的基本Db

c# - Code First Entity Framework - 更改连接字符串

如何更改代码优先EntityFramework/MVC应用程序中的连接字符串?我正在尝试将它转移到实时站点,但它忽略了Web配置值并且仍然引用我的本地版本的数据库。这是我的web.config的连接字符串部分:我不确定Entities字符串是否有任何相关性,因为我使用了CodeFirstEntityFramework,而且我认为它只在我尝试创建edmx文件时出现(尽管我最终只是删除了它)。Entities连接字符串已被注释掉,所以我认为它没有被使用。我想让EntityFramework读取“WebsiteConnectionString”,但它似乎想使用本地连接字符串,但我什至看不到设

c# - DataTable的Row's First Column to String Array

我有一个数据表。我想获取每一行的第一列值并附加到一个字符串数组。我不想对每一行使用foreach循环并添加到字符串数组。我试过了,但在某个时候卡住了DataRow[]dr=newDataRow[dtCampaignSubscriberLists.Rows.Count];dtCampaignSubscriberLists.Rows.CopyTo(dr,0);string[]array=Array.ConvertAll(dr,newConverter(????));谢谢 最佳答案 string[]array=yourTable.AsEn

c# - Code First 无法启用迁移

我正在尝试启用迁移,但它引发了异常:Checkingifthecontexttargetsanexistingdatabase...System.TypeInitializationException:Thetypeinitializerfor'System.Data.Entity.Migrations.DbMigrationsConfiguration`1'threwanexception.--->System.TypeInitializationException:Thetypeinitializerfor'System.Data.Entity.Internal.AppConfig

c# - EF Code First - 在 nvarchar 上全局设置 varchar 映射

我有一个应该很简单的问题,但我自己却找不到答案。我正在使用EF4CTP-5CodeFirst模型和手动生成的POCO。它将生成的SQL中的字符串比较处理为WHEREN'Value'=Object.Property我知道我可以使用以下方法覆盖此功能:[Column(TypeName="varchar")]publicstringProperty{get;set;}它修复了单次出现的问题并正确生成SQL为:WHERE'Value'=Object.Property但是,我正在处理一个非常大的域模型,遍历每个字符串字段并设置TypeName="varchar"将非常乏味。我想指定EF应该全面地

c# - 如何为 Entity Framework Code First 迁移设置隔离级别

如果您针对为SQLServer复制发布的表运行EntityFramework迁移(自动或显式),您会收到以下错误:YoucanonlyspecifytheREADPASTlockintheREADCOMMITTEDorREPEATABLEREADisolationlevels之前有过关于此的问题(here),但它们完全未能解决根本原因:EntityFramework迁移在Serializable隔离级别运行(如SQLServer探查器中清楚显示的那样)。这是结构更改事务的安全选择,但它与已发布的sqlserver表不兼容。与dbContext.SaveChanges()事务中使用的默认

c# - Entity Framework 6 Code First 自定义函数

我正在尝试类似的东西:Howtousescalar-valuedfunctionwithlinqtoentity?但是我没有使用EDMX,而是先使用DbContext和代码。我遇到过这个:https://codefirstfunctions.codeplex.com/但是用法不合适。我想要实现的是能够做到这一点:varlocations=context.Locations.Where(e=>Functions.LatLongDistanceCalc(e.Lat,e.Long,lat,long)>=10)它将调用SQLServer上的标量函数(LatLongDistanceCalc)。有