相关疑难解决方法(0)

返回匿名类型结果?

使用下面的简单示例,使用Linq to SQL从多个表返回结果的最佳方法是什么?

说我有两张桌子:

Dogs:   Name, Age, BreedId
Breeds: BreedId, BreedName
Run Code Online (Sandbox Code Playgroud)

我想用他们的狗归还所有的狗BreedName.我应该让所有的狗使用这样的东西没有问题:

public IQueryable<Dog> GetDogs()
{
    var db = new DogDataContext(ConnectString);
    var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select d;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

但如果我想要品种的狗并尝试这个我有问题:

public IQueryable<Dog> GetDogsWithBreedNames()
{
    var db = new DogDataContext(ConnectString);
    var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select new
                        {
                            Name = d.Name,
                            BreedName = b.BreedName
                        };
    return result; …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

187
推荐指数
7
解决办法
19万
查看次数

在C#中返回匿名类型

我有一个返回匿名类型的查询,查询在方法中.你怎么写的:

public "TheAnonymousType" TheMethod(SomeParameter)
{
  using (MyDC TheDC = new MyDC())
  {
     var TheQueryFromDB = (....
                           select new { SomeVariable = ....,
                                        AnotherVariable = ....}
                           ).ToList();

      return "TheAnonymousType";
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# anonymous-types return-type

90
推荐指数
8
解决办法
9万
查看次数

将类型'var'传递给C#中的方法

我有一些子查询,其数据类型为var.这些正在开发数据表.我想将这些传递给另一种方法,我该怎么做?例如:

    var subquery1= from results in table.AsEnumerable()
               where //some condition
               select new
               {
                  column1=results.field1,
                  column2 = results.field2
                  etc.,
               }
     var subquery2= from results in table.AsEnumerable()
               where //different condition
               select new
               {
                  column1=results.field1,
                  column2 = results.field2
                  etc.,
               }
Run Code Online (Sandbox Code Playgroud)

现在,我想定义一些方法将这些subquery1,subquery2作为变量传递.例如:

void updategrid(var queries)
          {
          //some logic
           }
Run Code Online (Sandbox Code Playgroud)

并执行方法:

updategrid(subquery1);
updategrid(subquery2);
Run Code Online (Sandbox Code Playgroud)

当我尝试在方法中使用var时,定义它并不喜欢它.请帮我说明怎么做.谢谢.

c#

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

将LINQ中的IEnumerable数据作为参数传递给方法

可能重复:
如何将匿名类型传递给方法?

我有以下LINQ语句,其输出必须在另一种方法中处理:

var data = from lines in File.ReadAllLines(TrainingDataFile)
                             .Skip(ContainsHeader ? 1 : 0)
           let f = lines.Split(new[] { FieldSeparator }).ToList<String>()
           let target = f[TargetVariablePositionZeroBased]
           select new { F=f, T=target };
Run Code Online (Sandbox Code Playgroud)

采用此数据的方法中参数的数据类型应该是什么?

c# linq

8
推荐指数
2
解决办法
3702
查看次数

如何将匿名类型作为参数传递给方法?

可能重复:
匿名类的返回类型是什么

我正在使用如下查询创建一个匿名类型:

来电代码:

 var query= from p in _db.ExecuteDataSet(SQL).Tables[0].AsEnumerable()
                        select new {
                                       ProductCode = p.Field<string>("PRODUCT_CODE"),
                                       ProductName = p.Field<string>("PRODUCT_NAME")
                                   };
 foreach(var product in query)
 {
     WriteProduct(product);
 }
Run Code Online (Sandbox Code Playgroud)

方法如下:

void WriteProduct(object prod)
{
  //   access the product
}
Run Code Online (Sandbox Code Playgroud)

我无法获得该WriteProduct方法的正确参数类型.请帮我.

c# linq c#-4.0

3
推荐指数
2
解决办法
5256
查看次数

标签 统计

c# ×5

linq ×3

.net ×1

anonymous-types ×1

c#-4.0 ×1

linq-to-sql ×1

return-type ×1