【发布时间】:2021-07-15 15:32:16
【问题描述】:
我尝试在医院管理系统原型中使用IValueConverter 来显示医生的姓氏而不是他的身份证。它将列表视图的值与患者对象的数据(包括医生的 ID)进行转换。
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
using (var db = new MainEntityModel())
{
user doctor = (from d in db.users where d.user_id == (int)value select d).Cast<user>();
string DoctorName = doctor.surname;
return DoctorName;
}
}
我无法处理它。我的查询返回带有一个医生类型对象的IQueryable,我不能像使用具有特定属性的对象一样使用它。我收到此错误:
无法将类型“System.Linq.IQueryable
”隐式转换为“MyApp.user”。存在显式转换(您是否缺少演员表?
另一种方法也失败了:
using (var db = new MainEntityModel())
{
var doctor = from d in db.users
where d.user_id == (int)value
select d;
string DoctorName = doctor.surname;
return DoctorName;
}
我在分配DoctorName 的行上有错误:
“IQueryable”不包含“姓氏”的定义,并且找不到接受“IQueryable”类型的第一个参数的可访问扩展方法“姓氏”(您是否缺少 using 指令或程序集引用?)
我已经尝试了很多方法(创建构造函数,使用查询数据初始化新用户)并现在寻求帮助。
【问题讨论】: