我想使用EF从数据库中读取一些查找数据,因此我执行以下操作:
public object LocationLookUps()
{
var locationTypes = ClientContext.LocationTypes;
var serviceCategories = ClientContext.ServiceCategories;
var serviceTypes = ClientContext.ServiceTypes;
var timeZones = ClientContext.TimeZones;
return new {locationTypes, serviceCategories, serviceTypes, timeZones};
}
稍后,在我的消费代码中,我想查询这些类型中的每一个以检查给定的locationType,timeZone等是否是有效值。如果我返回了List<LocationType>
,那么我可以将其查询为:
var locationType = list.SingleOrDefault(t => t.LocationTypeCode = "B");
你能用匿名类型做同样的事吗?
答案 0 :(得分:0)
无法从方法返回匿名类型,并且通过返回对象,您将丢弃类型信息的设计时知识。没有办法做你要问的事。
但这并不意味着没有办法做你想做的事。一些选择:
答案 1 :(得分:0)
在您的代码中,您不知道未来真实类型的名称。所以你只能使用
var temp = new {something};
然后在不同的地方使用temp localy或者反射(动态关键字)
您返回Object。所以其他代码会像Object一样解释它。你不能做演员,因为你不知道名字。我想你必须创建一个包含四个字段的ViewModel类