C# 我正在开发LINQtoEntity框架,在获取服务中的数据时遇到了问题
和得到错误 严重性代码说明项目文件行抑制状态 错误CS0266无法将类型“System.Linq.IQueryableC# 我正在开发LINQtoEntity框架,在获取服务中的数据时遇到了问题,c#,entity-framework,linq,C#,Entity Framework,Linq,和得到错误 严重性代码说明项目文件行抑制状态 错误CS0266无法将类型“System.Linq.IQueryable>”隐式转换为“SMPushMessage.Models.VirtualNumber”。存在显式转换(是否缺少转换?)SMPushMessage D:\ServerProjects\SMPushMessage\SMPushMessage\SMPushMessage\Services\imp\VirtualNumber Service.cs 22处于活动状态 有谁能告诉我怎么解决吗
有谁能告诉我怎么解决吗?您选择的是匿名类型。如果要返回
VirtualNumber
,应首先选择该值
public VirtualNumber getVirtualNumber(string address)
{
using (PushMessageDBContext dbcontext = new PushMessageDBContext())
{
var vNumber = from n in dbcontext.VirtualNumber
where n.Address == address
select new
{
VirtualNumber = n,
KeyWords = n.Keywords.OrderBy(k => k.KeywordName)
};
// return vNumber;
}
}
如果你发布你的VirtualNumber
课程,我可以进一步帮助你
正如grmbl指出的,这将返回一个列表。如果需要单个对象,则需要.FirstOrDefault()
编辑:假设VirtualNumber
包含关键字列表
(from n in dbcontext.VirtualNumber
where n.Address == address
select n).FirstOrDefault();
您正在选择匿名类型。如果要返回
VirtualNumber
,应首先选择该值
public VirtualNumber getVirtualNumber(string address)
{
using (PushMessageDBContext dbcontext = new PushMessageDBContext())
{
var vNumber = from n in dbcontext.VirtualNumber
where n.Address == address
select new
{
VirtualNumber = n,
KeyWords = n.Keywords.OrderBy(k => k.KeywordName)
};
// return vNumber;
}
}
如果你发布你的VirtualNumber
课程,我可以进一步帮助你
正如grmbl指出的,这将返回一个列表。如果需要单个对象,则需要.FirstOrDefault()
编辑:假设VirtualNumber
包含关键字列表
(from n in dbcontext.VirtualNumber
where n.Address == address
select n).FirstOrDefault();
是的,您的选择不正确,我认为应该像下面这样(我不知道VirtualNumber的属性):
是的,您的选择不正确,我认为应该像下面这样(我不知道VirtualNumber的属性):
您返回的是单个VirtualNumber,但选择了多个。需要什么?1个还是多个?你的问题还不清楚。我需要一个关键字可能是多个的虚拟号码。你返回一个虚拟号码,但选择了多个。你需要什么?1个还是多个?你的问题不清楚。我需要一个关键字可能是多个的虚拟号码