Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.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/mysql/69.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
C# 使用实体框架将LINQ语句重构为方法_C#_Entity Framework_Linq_Methods - Fatal编程技术网

C# 使用实体框架将LINQ语句重构为方法

C# 使用实体框架将LINQ语句重构为方法,c#,entity-framework,linq,methods,C#,Entity Framework,Linq,Methods,我在代码中多次使用这些Linq查询。我想为它们创建一个方法并返回它们的结果 var myevent = (from v in myEntities.Events where _EventID == v.EventID select v).SingleOrDefault(); var comments = (from c in myEntities.Fora

我在代码中多次使用这些Linq查询。我想为它们创建一个方法并返回它们的结果

var myevent = (from v in myEntities.Events
                           where _EventID == v.EventID
                           select v).SingleOrDefault();

var comments = (from c in myEntities.Fora
                            orderby c.DateCreated descending
                            where c.EventID == _EventID
                            select c).ToList();

您的问题不是很清楚,但听起来您只需要两个方法来返回linq查询的结果

public Events GetEvent(int id)
{
    return (from v in myEntities.Events
           where _EventID == id
           select v).SingleOrDefault();
}

public List<Fora> GetComments(int id)
{
     return (from c in myEntities.Fora
             orderby c.DateCreated descending
             where c.EventID == id
             select c).ToList();
}
public Events GetEvent(int-id)
{
返回(来自myEntities.Events中的v)
其中_EventID==id
选择v).SingleOrDefault();
}
公共列表GetComments(int id)
{
返回(来自myEntities.Fora的c)
orderby c.DateCreated降序
其中c.EventID==id
选择c.ToList();
}

你的问题有太多的未知数无法具体回答,这是SO特别关注的问题

我假设您的实体是DB支持的

您需要了解事务范围。您可以使用一个带有静态“myEntities”的单独类,并按照上面的匿名方式实现。但是,如果不同的线程正在调用,您可能会得到一个嵌套事务。您也不希望每次调用时都创建一个新连接

我将把它作为更广泛的数据访问层的一部分来实现,并将您的连接作为构造函数的一部分传递给它。如果选择使用静态方法,则应将连接作为参数之一传递


或者,您可以使用此逻辑创建一个抽象类,并让子类实现它。

好的,您需要权限吗?您有问题吗?请返回myevent和方法中的注释…?您好,我正在回顾您的问题,因为这是您关于Stackoverflow的第一个问题。请确保在您的描述中有一个以“?”结尾的特定问题。这将帮助用户了解您需要什么。顺便说一句,您可以缩短为var myevent=myEntities.Events.SingleOrDefault(e=>e.EventId==\u EventId);对不起,含糊不清。这是我第一次发布问题,我想我已经给出了所有相关的信息。是的,它是DB支持的。我的目标是将一个名为_EventID的变量传递给此方法,并让它返回一条记录,我可以使用该记录填充如下字段:lbleventitle.Text=myevent.EventTitle;