linq to sql返回列表

fre*_*hie -1 c# linq-to-sql

我有一些看起来像这样的查询:

public List<AnObjectModel> GetObjectFromDB(TheParameters)
{
   using MyDataContext
   {
     var TheList = (....select new AnObjectModel()...).ToList();
     return new List<AnObjectModel>(TheList);
   }
}
Run Code Online (Sandbox Code Playgroud)

他们工作得很好.我的问题是:目前,我正在使用var,然后我正在进行演员表演.这样做会有任何性能上的好处吗?

   public List<AnObjectModel> GetObjectFromDB(TheParameters)
    {
       using MyDataContext
       {
         List<AnObjectModel> TheList = (....select new AnObjectModel()...).ToList();
         return TheList;
       }
    }
Run Code Online (Sandbox Code Playgroud)

我需要大约20分钟来做出改变,我想知道是否会有任何不同.

谢谢.

Jon*_*eet 7

你没有使用演员 - 你正在创建一个新的列表.鉴于你已经有了一个新创造的,这绝对没有意义List<T>.我会写:

return (....select new AnObjectModel()...).ToList();
Run Code Online (Sandbox Code Playgroud)

或者很可能:

var query = from ...
            select new AnObjectModel { ... };
return query.ToList();
Run Code Online (Sandbox Code Playgroud)

这避免了必须括起查询表达式,这通常看起来很难看.

根据布局的品味编辑,但绝对删除冗余列表创建.