我试图从linq查询中获取字符串值"Admin",但是当我这样做时:
string oldModule = dc.Modules
.Where(x => x.Id == um.ModuleId)
.Select(s => new {s.ModuleName})
.FirstOrDefault().ToString();
Run Code Online (Sandbox Code Playgroud)
它在oldModule变量中返回{ModuleName = Admin},而不仅仅是Admin.
那是因为你在投影中引入了一个匿名类型.试试这个:
string oldModule = dc.Modules
.Where(x => x.Id == um.ModuleId)
.Select(s => s.ModuleName)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
我也删除了ToString
调用,NullReferenceException
如果该Where
子句没有匹配任何内容,则会抛出一个调用.