Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 在使用实体框架时,能否使用.NET函数或web服务插入/更新?_Entity Framework - Fatal编程技术网

Entity framework 在使用实体框架时,能否使用.NET函数或web服务插入/更新?

Entity framework 在使用实体框架时,能否使用.NET函数或web服务插入/更新?,entity-framework,Entity Framework,我们的票务系统允许我们直接读取数据库,但更新需要通过web服务或插入到特殊的“暂存”表中,然后调用web服务来触发对其业务逻辑的处理 我们目前有几个类可以管理它,但我正在重写所有内容以使用实体框架,并想知道是否有一种方法可以利用该代码在需要它的表上进行插入/更新 如果可能的话,我该怎么做呢?那是可能的。您应该能够将实体和相关图形发送到服务,并使用这些值进行最小的更改,或者在实体和以前的类之间创建映射。老实说,我认为这是一个相当多的工作,但嘿,如果它没有打破,为什么现在打破它?:) 编辑: 我先试

我们的票务系统允许我们直接读取数据库,但更新需要通过web服务或插入到特殊的“暂存”表中,然后调用web服务来触发对其业务逻辑的处理

我们目前有几个类可以管理它,但我正在重写所有内容以使用实体框架,并想知道是否有一种方法可以利用该代码在需要它的表上进行插入/更新


如果可能的话,我该怎么做呢?

那是可能的。您应该能够将实体和相关图形发送到服务,并使用这些值进行最小的更改,或者在实体和以前的类之间创建映射。老实说,我认为这是一个相当多的工作,但嘿,如果它没有打破,为什么现在打破它?:)

编辑:

我先试试。假设我们有一个Ticket、tickettenty(实体框架实体)和TicketService。票务服务有一个更新预订或其他内容的方法。我不熟悉售票服务,所以我现在基本上只是猜测。如果我错了,请随时纠正我:)

这是一种方法。我不是说这是对的,我只是说这是解决重用当前服务更新和插入票证问题的一种方法

要从业务层使用票证服务,可以执行以下操作

public void Get(TicketEntity entity)
{
    var context = new ObjectContext();
    IList<TicketEntity> entities = (from t in context.TicketEntities
                                    where t.Price > 200
                                    select t).ToList();
    foreach (var ent in entities)
    {
        var ticket = new Ticket(ent);
        new TicketService().InsertTicket(ticket);
    }
}
public void Get(TicketEntity实体)
{
var context=new ObjectContext();
IList实体=(来自context.tickettenties中的t
其中t.价格>200
选择t.ToList();
foreach(实体中的变量)
{
var票据=新票据(ent);
新建票证服务()。插入票证(票证);
}
}

我该怎么做?我只能找到关于如何使用存储过程的文档……在这里我将使用某种适配器模式。我将更新我的帖子。我实际上已经放弃了项目的实体框架,只是有太多的墙。回到Linq2Sql,已经有了更进一步的进展。太糟糕了,EF看起来不错。。。只是还没到。你得到的答案是肯定的,因为没有其他答案,而你的答案看起来是正确的。旁注:在L2S中,您只需在数据上下文中创建一个部分函数,如InsertTicket,并允许您在其中执行所需的任何逻辑。。。
public void Get(TicketEntity entity)
{
    var context = new ObjectContext();
    IList<TicketEntity> entities = (from t in context.TicketEntities
                                    where t.Price > 200
                                    select t).ToList();
    foreach (var ent in entities)
    {
        var ticket = new Ticket(ent);
        new TicketService().InsertTicket(ticket);
    }
}