Tag: ef code first

如何在Entity Framework Code First中分离对象?

DbContext上没有Detach(object entity) 。 我是否有能力首先在EF代码上分离对象?

entity framework6代码优先默认值

有没有“优雅”的方式给特定的财产一个默认值? 也许通过DataAnnotations,如下所示: [DefaultValue("true")] public bool Active { get; set; } 谢谢。

我应该启用还是禁用dynamic代理与entity framework4.1和MVC3?

有人可以提出一些build议或指出一些可以帮助做出这个决定的博客/文章? 代理人对我来说看起来很陌生,我不愿意使用它们。 我喜欢通过在模型中使用虚拟属性来控制“延迟加载”的能力,但这几乎是我所能看到的所有好处。 我的应用程序是一个简单的MVC Web应用程序,当实体遇到更改的状态时,我不需要将任何挂钩连接到上下文中。 无论如何,这里是我非常有限的利弊名单,让我知道,如果我与任何这样的基础。 优点 在“保存”或“更新”上,我可以通过“应用”更改 延迟加载configuration非常简单。 缺点 以前从未使用过代理服务器,这是对自己和团队成员看起来不舒服的方法的改变。 尴尬的debugging。 如果我想序列化/反序列化,需要额外的代码 在“保存”或“更新”上,代理必须是从上下文中检索的同一个对象。

entity framework代码第一。 find主键

如何find一个类的哪个属性是entity framework代码第一个实体POCO的主键? 请注意Id / class name +“Id”的string匹配是一个不好的select。 必须有一些方法来挖掘entity framework所使用的约定,并可靠地获得关键属性。 提前致谢。

从存储过程获取返回值

我使用的是Code First方法的entity framework5。 我需要从存储过程读取返回值; 我已经阅读输出参数和发送input参数,但我不知道如何读取返回值。 可能吗? 这里是我用来调用存储过程的代码: var outParam = new SqlParameter(); outParam.ParameterName = "@StatusLog"; outParam.SqlDbType = SqlDbType.NVarChar; outParam.Size = 4000; outParam.Direction = ParameterDirection.Output; var code = new SqlParameter(); code.ParameterName = "@Code"; code.Direction = ParameterDirection.Input; code.SqlDbType = SqlDbType.VarChar; code.Size = 20; code.Value = "123"; var data = _context.Database.SqlQuery<Item>("exec spItemData @Code, @StatusLog OUT", code, outParam); var […]

通过Fluent API首先在EF代码中实现零或一到零或一个关系

我有两个POCO课程 public class Order { int id; string code; int? quotationId; //it is foreign key public int Id{get;set;} public string Code{get;set;} public int? QuotationId{get;set;} Quotation quotation; public virtual Quotation Quotation { get; set; } …. } public class Quotation { int Id; string Code; public int Id{get;set;} public string Code{get;set;} Order order; public virtual Order […]

在生产中使用entity framework(代码优先)迁移

我只是考虑使用EF迁移为我们的项目,特别是在版本之间执行生产模式更改。 我已经看到提到有一个API在运行时使用DbMigration类来执行这些迁移,但是我找不到任何具体的例子。 理想情况下,我希望每个数据库更改都需要一个DbMigration文件,并且应用程序会自动从应用程序的当前版本升级到最新版本。

EF 6和代码优先迁移中相同数据库和应用程序中的多个数据库上下文

我是entity framework的新手。 我想设置一个MVC应用程序什么使用EF 6.我正在使用Code First Migrations。 我在应用程序中使用区域,并希望在每个区域有不同的DbContexts分解。 我知道EF 6有ContextKey,但我找不到有关如何使用它的完整信息。 目前,我一次只能使用一种上下文迁移。 有人能给我一个足够的细节给一个新的人来EF像我一样理解和使用。

我如何强制entity framework插入标识列?

我想写一些C#代码来初始化我的数据库与一些种子数据。 显然,这将需要能够在插入时设置各种标识列的值。 我使用的是代码优先的方法。 默认情况下, DbContext处理数据库连接,因此您不能SET IDENTITY_INSERT [dbo].[MyTable] ON 。 所以,到目前为止,我所做的是使用DbContext构造函数来指定要使用的数据库连接。 然后,我在该数据库连接中将IDENTITY_INSERT设置为ON ,然后尝试使用entity framework插入我的logging。 以下是我迄今为止的一个例子: public class MyUserSeeder : IEntitySeeder { public void InitializeEntities(AssessmentSystemContext context, SqlConnection connection) { context.MyUsers.Add(new MyUser { MyUserId = 106, ConceptPersonId = 520476, Salutation = "Mrs", Firstname = "Novelette", Surname = "Aldred", Email = null, LoginId = "520476", Password="28c923d21b68fdf129b46de949b9f7e0d03f6ced8e9404066f4f3a75e115147489c9f68195c2128e320ca9018cd711df", IsEnabled = true, […]

EntityFramework代码优先自定义连接string和迁移

当我使用默认的连接string(从app.config读取)创build一个上下文时,数据库被创build并且迁移工作 – 基本上所有东西都是按顺序的。 而当以编程方式创build连接string(使用SqlConnectionStringBuilder )时: 当数据库不存在时,数据库不会被创build(schemeA ); CreateDbIfNotExists()创build最新版本的数据库模型,但不会调用迁移机制(schemeB )。 在A ,当我想访问数据库时抛出一个exception,显然,它不在那里。 在B数据库中创build正确的迁移机制不会被调用,就像标准连接string中的情况一样。 app.config :“ Data Source=localhost\\SQLEXPRESS;Initial Catalog=Db13;User ID=xxx;Password=xxx ” build设者 : sqlBuilder.DataSource = x.DbHost; sqlBuilder.InitialCatalog = x.DbName; sqlBuilder.UserID = x.DbUser; sqlBuilder.Password = x.DbPassword; 初始值设定项 Database.SetInitializer( new MigrateDatabaseToLatestVersion< MyContext, Migrations.Configuration >() ); 规格 :entity framework:5.0,DB:SQL Server Express 2008