标签: ef4-code-only

如何不先保留属性EF4代码?

如何使用codefirst EF4创建非持久属性?

MS说有一个StoreIgnore属性,但我找不到它.

http://blogs.msdn.com/b/efdesign/archive/2010/03/30/data-annotations-in-the-entity-framework-and-code-first.aspx

有没有办法使用EntityConfiguration设置它?

.net c# entity-framework entity-framework-4 ef4-code-only

49
推荐指数
1
解决办法
2万
查看次数

如何使用Entity Framework 4.1"仅代码"流畅的API映射char属性?

我有一个具有char属性的对象:

public class Product
{
    public char Code
    {
        get;
        set;
    }
}
Run Code Online (Sandbox Code Playgroud)

实体框架似乎无法映射字符(当我从模型对象创建数据库模式时,数据库中缺少此字段).无论如何我可以使用流畅的API映射char(例如字符串)吗?我不想更改模型对象,因为它们是遗留共享库的一部分.

entity-framework fluent-interface char ef4-code-only

44
推荐指数
2
解决办法
2万
查看次数

使用Guid作为PK与EF4 Code First

我有这个班级和表格:

public class Foo
{
public Guid Id {get;set;}
public string Name {get;set;}   
}
Run Code Online (Sandbox Code Playgroud)
create table Foo
(
id uniqueidentifier primary KEY DEFAULT (newsequentialid()),
name nvarchar(255)
)
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试保存新的foo时,第一个使用了0000-000-00 ... id和第二个也是,所以我得到了约束异常

有谁知道修复?

code-first entity-framework-4 ef4-code-only entity-framework-ctp5

39
推荐指数
2
解决办法
1万
查看次数

如何首先使用EF 4代码将对象映射到视图?

如何首先使用EF 4代码将实体映射到数据库视图?

有没有办法通过派生EntityConfiguration类来做到这一点?

.net entity-framework entity-framework-4 ef4-code-only

19
推荐指数
1
解决办法
2万
查看次数

实体框架4:代码优先 - 在另一个模式中创建数据库?MapSingleType?

我有一个数据库,我使用2种不同的模式.模式就像名称空间(如果我错了,请纠正我).这样我有1个db和当前2个模式...因此1个模式中的表可以与其他模式中的表命名相同,因为它们位于不同的模式中.

如何让EF Code首先与不同的模式进行通信而不是默认模式?

是否与MapSingleType和覆盖方法有关,还是我可以做其他事情?

任何帮助真的很感激.

c# schema entity-framework-4 ef4-code-only ef-code-first

18
推荐指数
2
解决办法
5556
查看次数

在使用Entity Framework CTP 5"仅代码"时,如何获取LINQ查询的原始SQL?

我在"仅代码"模式下使用Entity Framework CTP5.我正在对从数据库返回的对象运行LINQ查询,因为查询运行速度非常慢.有什么方法可以让我从查询中获取生成的SQL语句?

Topic currentTopic =
    (from x in Repository.Topics
     let isCurrent = (x.StoppedAt <= x.StartedAt || (x.StartedAt >= currentTopicsStartedAtOrAfter))
     where x.Meeting.Manager.User.Id == user.Id && isCurrent
     orderby x.StartedAt descending
     select x).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

"Repository"属性是DbContext的后代.

这有点复杂,因为EF无法在对象上使用我的辅助方法,所以我直接在查询中指定逻辑.

那么,有什么方法可以转储由LINQ查询生成的SQL(例如,我的log4net存储库)?

sql profiling entity-framework code-first ef4-code-only

15
推荐指数
3
解决办法
1万
查看次数

EF 4代码如何首先处理生产环境中的架构更改?

传统上我总是手工编写我的sql脚本,所以它们很好而且干净(我不是生成者的粉丝)并且发布到发布版本,我提供了一个全新的安装脚本和来自之前版本的迁移脚本表,改变现有的表等.这都非常标准.

我没有太多时间来使用EF 4代码,但如果它在生产环境中实际可行,我很有兴趣使用它.

假设你有一个代码优先的方法,如果一个数据库不存在,将自动创建一个数据库.如果您发布具有架构/模型更改的软件的新版本会发生什么.EF是否足够智能更新数据库模式以匹配更新的EF模型?

脚本

  1. 客户端在其服务器上安装asp.net MVC网站.首次运行时,将创建一个新的数据库
  2. 客户端使用网站一段时间,数据库将填充一些数据
  3. 与此同时,该网站的新版本发布,EF模型也发生了变化
  4. 客户端下载新版本,部署网站并指向现有数据库

代码首先仅对初始部署有用,还是足够聪明以更新现有数据库版本以便像这样发布?

asp.net-mvc entity-framework entity-framework-4 ef4-code-only

14
推荐指数
1
解决办法
4266
查看次数

EF 4.1 Code First中的XML数据类型

我想使用SQL Server xml类型作为实体类的列类型.

根据这个线程,可以将这样的列映射到字符串类型:

public class XmlEntity
{
   public int Id { get; set; }

   [Column(TypeName="xml")]
   public string XmlValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

该定义在数据库中正确生成了该表.也可以创建新的XmlEntity对象.

但后来我尝试从数据库中获取一些实体:

var entity = db.XmlEntities.Where(e => e.Id == 1).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

发生错误:

模型生成过程中检测到一个或多个验证错误 System.Data.Edm.EdmEntityType:的EntityType" 的XElement "没有定义键.定义此EntityType的键.

entity-framework entity-framework-4 xml-column ef4-code-only ef-code-first

12
推荐指数
2
解决办法
9625
查看次数

DbContext SaveChanges语句执行顺序

我有一个表,在具有Ordinal列的表上具有唯一索引.例如,表格将包含以下列:

TableId,ID1,ID2,Ordinal

唯一索引跨越ID1,ID2,Ordinal列.

我遇到的问题是,当从数据库中删除记录时,我会重新排序序数,以便它们再次顺序.我的删除功能如下所示:

    public void Delete(int id)
    {
        var tableObject = Context.TableObject.Find(id);
        Context.TableObject.Remove(tableObject);
        ResequenceOrdinalsAfterDelete(tableObject);
    }
Run Code Online (Sandbox Code Playgroud)

问题在于,当我调用Context.SaveChanges()时,它会打破唯一索引,因为它似乎以不同于传递的顺序执行语句.例如,发生以下情况:

  1. 重新排列普通话
  2. 删除记录

代替:

  1. 删除记录
  2. 重新排列普通话

这是EF的正确行为吗?如果是,是否有一种方法可以覆盖此行为以强制执行顺序?

如果我没有正确解释,请告诉我...

entity-framework-4 ef4-code-only ef-code-first dbcontext

11
推荐指数
1
解决办法
3954
查看次数

如何首先使用EF 4代码重构代码/数据库模式 - 数据迁移

使用codefirst EF4进行数据库重构的最佳实践是什么?

我很想知道当RecreateDatabaseIfModelChanges选项不可行时人们如何更改类和数据库.需要进行数据迁移.

目前微软有一个解决方案,首先使用模型:

http://blogs.msdn.com/b/adonet/archive/2010/02/08/entity-designer-database-generation-power-pack.aspx?PageIndex=2#comments

有没有人有一个很好的代码策略?

c# entity-framework ef4-code-only

7
推荐指数
1
解决办法
1407
查看次数