Asp.net linq query
本文关键字:query linq net Asp | 更新日期: 2023-09-27 18:33:25
System.Linq.IQueryable<CustomerProfile> query =
from usr in context.customer_profiles
where usr.cust_email == LoginID
select new CustomerProfile
{
NAME = usr.cust_name,
CONTACT = usr.cust_contact,
EMAILID = usr.cust_email,
LOCATION = usr.cust_location,
SERVICELOCATION=usr.cust_service_location,
FAXNO=usr.cust_fax_no,
FIRMNAME = usr.cust_firm_name,
FIRMADDRESS = usr.cust_firm_address,
DATEESTABLISHED = Convert.ToDateTime(((DateTime?)usr.date_of_established)),
SIGNATURE = usr.cust_signature,
LOGO = usr.logo,
};
在接下来的行中,我遇到"指定的强制转换无效"的问题。我该如何纠正此问题?
return query.ToList().FirstOrDefault();
您正在将客户电子邮件与其查询中的登录 ID 进行比较。我认为这会导致转换问题,否则它可能不会返回您想要的正确结果。
并使用隐式强制转换 (var) 而不是 IQueryable
试试这个,然后返回查询。对不起格式,它给了我忧郁
CustomerProfile query =
(from usr in context.customer_profiles
where usr.cust_email == LoginID
select new
{
NAME = usr.cust_name,
CONTACT = usr.cust_contact,
EMAILID = usr.cust_email,
LOCATION = usr.cust_location,
SERVICELOCATION = usr.cust_service_location,
FAXNO = usr.cust_fax_no,
FIRMNAME = usr.cust_firm_name,
FIRMADDRESS = usr.cust_firm_address,
DATEESTABLISHED = Convert.ToDateTime(((DateTime?)usr.date_of_established)),
SIGNATURE = usr.cust_signature,
LOGO = usr.logo,
}).FirstOrDefault();