从DB转换时出现问题

Jea*_*hhe 3 .net c# casting asp.net-mvc-4

我使用从MVC项目生成的以下内容(在方法ActionResult索引中),现在我想将以下var属性(config)转换为模型类,该类是从(config类)生成的DB中的类,如何我应该这样做吗?

var config = from m in db.Config
             select m;
Run Code Online (Sandbox Code Playgroud)

我尝试这样但它不起作用

Config config2 = (Config)config;
Run Code Online (Sandbox Code Playgroud)

还有

Config config = from m in db.Config
                select m;
Run Code Online (Sandbox Code Playgroud)

错误是:

Error   1   Cannot implicitly convert type 'System.Linq.IQueryable<Admin.Config.Admin>' to 'AdminS.Config.Admin'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)

Dar*_*ren 6

var config = from m in db.Config
             select m;
Run Code Online (Sandbox Code Playgroud)

返回的IQueryable<Admin.Config.Admin>不是Admin类.你有效地拥有一个集合,你可以使用.FirstOrDefault()它将返回第一个对象(或null).

Config config2;
Config firstConfigItem = config.FirstOrDefault();

if (firstConfigItem != null) {
   config2 = firstConfigItem;
} 
Run Code Online (Sandbox Code Playgroud)

注意:您不需要Config转换Config为无意义,您已经在处理正确的类型.编译器原本抱怨IQueryable<Config>Config.

要获取可以调用的对象列表,您.ToList()必须迭代集合中的每个对象并相应地分配它,目前您只有1个变量.