标签: entity-framework-4.1

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

没有Detach(object entity)DbContext.

我是否能够首先在EF代码上分离对象?

entity-framework ef-code-first entity-framework-4.1

136
推荐指数
3
解决办法
9万
查看次数

如何在Entity Framework 5中包含子对象的子对象

我正在使用Entity Framework 5 code firstASP.NET MVC 3.

我正在努力让一个子对象的子对象填充.以下是我的课程..

申请类;

public class Application
{
     // Partial list of properties

     public virtual ICollection<Child> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

儿童班:

public class Child
{
     // Partial list of properties

     public int ChildRelationshipTypeId { get; set; }

     public virtual ChildRelationshipType ChildRelationshipType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

ChildRelationshipType类:

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

     public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

存储库中GetAll方法的一部分,用于返回所有应用程序:

return DatabaseContext.Applications …
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-4 entity-framework-4.1 entity-framework-5

121
推荐指数
3
解决办法
9万
查看次数

实体框架加入3个表

我想加入三张桌子,但我无法理解这个方法......

我完成了加入2个表

        var entryPoint = dbContext.tbl_EntryPoint
            .Join(dbContext.tbl_Entry,
                c => c.EID,
                cm => cm.EID,
                (c, cm) => new
                {
                    UID = cm.OwnerUID,
                    TID = cm.TID,
                    EID = c.EID,
                }).
            Where(a => a.UID == user.UID).Take(10);
Run Code Online (Sandbox Code Playgroud)

表

我想在TID PK中包含tbl_Title表并获取Title字段.

非常感谢

c# entity-framework entity-framework-4 entity-framework-4.1 entity-framework-5

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

EF 4.1 Code First的复合键

我试图找出如何使用EF代码First 4.1 RC获得复合键.

目前,我正在使用[Key] Data Annotation,但我无法指定多个键.

如何指定复合键?

这是我的例子:

 public class ActivityType
{
    [Key]
    public int ActivityID { get; set; }

    [Required(ErrorMessage = "A ActivityName is required")]
    [StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")]
    public string ActivityName { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

我需要"ActivityName"也是一个关键.当然,我可以围绕这个编码,但那不是很好的数据库设计.

composite-key ef-code-first entity-framework-4.1

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

如何在MVC3中使用Code First Entity Framework(4.1)声明外键关系?

我一直在寻找有关如何使用代码首先EF 4.1声明外键关系和其他约束的资源,而没有太多运气.基本上我是在代码中构建数据模型并使用MVC3来查询该模型.一切都通过MVC工作,这是伟大的(对微软的赞誉!)但现在我希望它不工作,因为我需要有数据模型约束.

例如,我有一个Order对象,它有很多属性是外部对象(表).现在我可以创建一个没有问题的订单,但是无法添加外键或外部对象.MVC3设置这没问题.

我意识到我可以在保存之前在控制器类中自己添加对象,但是如果没有满足约束关系,我希望调用DbContext.SaveChanges()失败.

新的消息

所以,具体来说,当我尝试保存Order对象而不指定客户对象时,我希望发生异常.如果我只是编写大多数Code First EF文档中描述的对象,这似乎不是行为.

最新代码:

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

    [ForeignKey( "Parent" )]
    public Patient Patient { get; set; }

    [ForeignKey("CertificationPeriod")]
    public CertificationPeriod CertificationPeriod { get; set; }

    [ForeignKey("Agency")]
    public Agency Agency { get; set; }

    [ForeignKey("Diagnosis")]
    public Diagnosis PrimaryDiagnosis { get; set; }

    [ForeignKey("OrderApprovalStatus")]
    public OrderApprovalStatus ApprovalStatus { get; set; }

    [ForeignKey("User")]
    public User User { get; set; }

    [ForeignKey("User")]
    public User Submitter { get; set; }

    public DateTime …
Run Code Online (Sandbox Code Playgroud)

ef-code-first entity-framework-4.1 asp.net-mvc-3

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

实体框架代码 - 首先是null外键

我有一个User< Country模特.用户属于某个国家/地区,但可能不属于任何(空外键).

我该如何设置?当我尝试插入具有空国家/地区的用户时,它告诉我它不能为空.

模型如下:

 public class User{
    public int CountryId { get; set; }
    public Country Country { get; set; }
}

public class Country{
    public List<User> Users {get; set;}
    public int CountryId {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

错误: A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}

mapping entity-framework foreign-key-relationship ef-code-first entity-framework-4.1

98
推荐指数
3
解决办法
8万
查看次数

与ObjectContext相比,为什么在EF 4.1中插入实体的速度如此之慢?

基本上,我在一个事务中插入35000个对象:

using(var uow = new MyContext()){
  for(int i = 1; i < 35000; i++) {
     var o = new MyObject()...;
     uow.MySet.Add(o);
  }
  uow.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

这需要永远!如果我使用底层ObjectContext(通过使用IObjectAdapter),它仍然很慢但需要大约20秒.它似乎DbSet<>正在进行一些线性搜索,这需要花费大量时间......

其他人看到这个问题?

c# entity-framework entity-framework-4.1

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

实体框架代码第一个日期字段创建

我正在使用Entity Framework Code First方法来创建我的数据库表.以下代码DATETIME在数据库中创建一个列,但我想创建一个DATE列.

[DataType(DataType.Date)]
[DisplayFormatAttribute(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime ReportDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

如何DATE在创建表时创建类型列?

entity-framework code-first entity-framework-4.1

77
推荐指数
5
解决办法
5万
查看次数

实体框架 - 有没有办法在没有Include()的情况下自动加载子实体?

有没有办法装饰你的POCO类来自动加载子实体而不必Include()每次加载时都使用它们?

假设我有一辆Class Car,车轮,门,发动机,保险杠,Windows,排气等的复杂类型属性.在我的应用程序中,我需要从我的DbContext 20个不同的地方加载我的汽车,不同的查询,等等.不希望每次我想加载我的汽车时都要指定我想要包含所有属性.

我想说

List<Car> cars = db.Car
                .Where(x => c.Make == "Ford").ToList();

//NOT .Include(x => x.Wheels).Include(x => x.Doors).Include(x => x.Engine).Include(x => x.Bumper).Include(x => x.Windows)


foreach(Car car in cars)
{

//I don't want a null reference here.

String myString = car.**Bumper**.Title;
}
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式装饰我的POCO类或我的OnModelCreating()或在EF中设置一个配置,它会告诉它在我装车时加载我汽车的所有部件吗?我想热切地这样做,所以我的理解是让我的导航属性变得虚拟.我知道NHibernate支持类似的功能.

只是想知道我是否遗漏了什么.提前致谢!

干杯,

弥敦道

我喜欢下面的解决方案,但我想知道我是否可以嵌套对扩展方法的调用.例如,假设我与Engine有类似的情况,它有很多部分,我不希望包含在任何地方.我可以这样做吗?(我还没有找到一种工作方式).这样,如果以后我发现Engine需要FuelInjectors,我只能在BuildEngine中添加它,而不必在BuildCar中添加它.此外,如果我可以嵌套调用,如何将调用嵌套到集合中?想从我的BuildCar()中为每个轮子调用BuildWheel()?

public static IQueryable<Car> BuildCar(this IQueryable<Car> query) {
     return query.Include(x => x.Wheels).BuildWheel()
                 .Include(x => x.Doors)
                 .Include(x => x.Engine).BuildEngine()
                 .Include(x => x.Bumper)
                 .Include(x => x.Windows);
}

public …
Run Code Online (Sandbox Code Playgroud)

entity code-first entity-framework-4.1 entity-framework-4.3

70
推荐指数
3
解决办法
4万
查看次数

EF Code First:如何获取随机行

如何构建一个查询随机行的查询?

如果我在SQL中编写它,那么我会在newid()上输入一个命令并从顶部删除n行.无论如何要先在EF代码中执行此操作?

我尝试创建一个使用newid()并使用DbSet.SqlQuery()执行它的查询.虽然它有效,但它不是最干净的解决方案.

此外,尝试检索所有行并通过新guid对它们进行排序.尽管行数相当小,但它仍然不是一个好的解决方案.

有任何想法吗?

c# entity-framework ef-code-first entity-framework-4.1

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