相关疑难解决方法(0)

自我追踪实体的目的是什么?

我一直在阅读.net中的自跟踪实体以及如何从*.edmx文件生成它们.我正在努力理解的是生成这些实体的原因是什么让你了解基本的EF实体?此外,有些人提到了自我跟踪实体和Silverlight,但为什么要使用这些实体而不是客户端或RIA服务生成的共享类?

自我跟踪实体有什么意义,为什么要使用它们?

.net c# entity-framework self-tracking-entities

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

自我跟踪实体与POCO实体

我们正在开始一个新的基于Web的产品,我们计划通过WCF服务公开我们的业务逻辑.我们将使用ASP.NET 4.0,C#,EF 4.0.将来我们希望基于这些服务构建iphone应用程序和WPF应用程序.我一直在阅读很多关于使用POCO和自我跟踪实体(STE)的内容,据我所知,STEs在网络方案中效果不佳.任何人都能更清楚地了解这个问题吗?

asp.net wcf poco entity-framework-4 self-tracking-entities

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

重新附加实体图并检测集合更改

我首先使用实体​​框架代码并通过WCF REST HTTP接口公开northwind数据库.

我没有公开OrderDetails表(订单商品),因为创建订单然后通过另一个服务单独添加每个所需的OrderDetail是没有意义的.在我看来,它需要是一个成功或失败的原子事务.因此,我在传递给客户端时包含Order.OrderDetails集合,并假设在创建或更新订单时我将获得一个.

然而,问题似乎是在重新附加Order实体以进行更新时检测OrderDetails集合的更改.订单本身可以设置为已修改以更新这些属性,但这不会级联到OrderDetail项目.所以我可以手动完成并设置更新的修改后的问题,但问题在于找出哪些是首先更新的.将新的OrderDetail设置为modified会在尝试保存时导致错误.

我读了一条建议,将新集合项的Id设置为0,并在服务器中使用它来决定它是新的还是现有的.然而,Northwind在OrderDetails的OrderID和ProductID之间使用复合键.这些都必须由客户端设置,所以我找不到一种方法来检测新的.此外,已删除的OrderDetail将不存在于分离图中,我将需要弄清楚已删除的内容并明确删除它.

任何建议将不胜感激.

public override Order Update(Order entity)
{
    dbset.Attach(entity);
    DataContext.Entry(entity).State = EntityState.Modified;

    foreach (var orderDetail in entity.OrderDetails)
    {
        DataContext.Entry(orderDetail).State = EntityState.Modified;
    }

    return entity;
}
Run Code Online (Sandbox Code Playgroud)

c# rest entity-framework entity-framework-4.1

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

是否建议将自我跟踪实体与WCF服务一起使用?

我想知道在WCF服务中是否建议使用Self Tacking Entities(在Entity Framework中)?如果是,那么你可以指导我一个指导如何做到这一点的教程吗?

实际上,我将使用Prism与MEF和MVVM开发WPF应用程序.我决定使用Entity Framework.我想要有关这种方法的建议和建议.

任何帮助将不胜感激.

wcf entity-framework self-tracking-entities

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