从C#中的类对象获取属性

时间:2014-01-20 19:14:25

标签: c# asp.net-mvc

我需要从我从存储过程填充但不知道如何的类中获取三个属性的值。

我的viewModel:

public class SitesVM
{
    public int ID { get; set; }
    public string SiteName { get; set; }

} 

我在Global.asax文件中填充了一个类,如下所示:

string siteIpAddress = "67.46.255.255";  //HardCoded for testing
var site = context.Database.SqlQuery<SitesVM>("spSelect_SiteByIp", siteIpAddress);

该站点填充了正确的数据,我可以从Locals调试屏幕看到它,但我不知道如何将ID和SiteName检索到变量中。我尝试了以下

var siteID = site.ID; //

但是我得到了这个构建错误:

'System.Collections.Generic.IEnumerable'不包含'ID'的定义,并且没有可以找到接受类型'System.Collections.Generic.IEnumerable'的第一个参数的扩展方法'ID'(你是否遗漏了) using指令或程序集引用?)

2 个答案:

答案 0 :(得分:1)

它正在返回IEnumerable<SitesVM>而不是SitesVM

如果您只想要一个结果而且您确定只有一个结果,那么您可以尝试:

site.Single().ID;

这将返回序列中单个成员的ID,如果存在零或> 1个结果,则会抛出异常

答案 1 :(得分:0)

SqlQuery()函数未返回SitesVM对象,它返回此类对象的枚举(IEnumerable)。查询结果中可能有零行或多行。

使用First() method获取第一个返回的行。请注意,如果查询未返回任何行(枚举为空),则会抛出InvalidOperationException

相关问题