如何在c#web服务中返回linq到sql查询结果?

时间:2016-01-25 08:02:18

标签: c# web-services

我是web服务的初学者,想写一个web服务返回linq到sql查询结果,写下这段代码:

DataClasses1DataContext behzad = new DataClasses1DataContext(conn);

string result;
var query = (from p in behzad.CDRTABLEs
             where p.name == "behzad".Trim()
             select p).Take(1);

return query.ToString();


但是回到我身边:
enter image description here
但我想要返回表数据而不是linq到sql查询,我该如何解决?
当我更改return query.ToString(); to return query;时,我收到此错误:
enter image description here

3 个答案:

答案 0 :(得分:0)

ToString-ing查询,而不是结果。由于您使用Take来获取一个结果,因此您可以使用FirstOrDefault来评估查询并返回第一个结果,如果没有任何结果,则使用NULL

var result = (from p in behzad.CDRTABLEs
                     where p.name == "behzad".Trim()
                     select p).FirstOrDefault();

return result;

答案 1 :(得分:0)

尝试执行查询 - 调用FirstOrDefault():

    var query = (from p in behzad.CDRTABLEs
                 where p.name == "behzad".Trim()
                 select p).FirstOrDefault()

答案 2 :(得分:0)

如果要返回结果的对象,则需要创建一个类然后返回它。所以首先创建一个这样的类:

Car_mask = pygame.mask.from_surface(CarImage)
Track_mask = pygame.mask.from_surface(TrackImage)

offset_x, offset_y = (Car.x - Track.y), (Car.y - Track.y)
if (Track_mask.overlap(Car_mask, (offset_x,offset_y)) != None):
    print("overlaps")
else:
    #Push Car Back On Track, Slow Speed Stuff
    #Cause it not touching track at all.

然后执行以下查询:

public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }
}