我刚刚开始使用ASP.NET MVC Core。
到目前为止一切顺利,当我想将一些数据解析为Book模型时,它似乎无法识别Any
方法和FirstOrDefault
。
我的代码如下。有帮助吗?
public string GetDeweyIndex(int id)
{
if (_context.Books.Any(book => book.Id == id))
{
return _context.Books
.FirstOrDefault(book => book.id == id).DeweyIndex;
}
else
return "";
}
预订模型
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.DataAnnotations;
namespace LibaryData.Models
{
public class Book : LibaryAsset
{
[Required]
public string ISBN { get; set; }
[Required]
public string Author { get; set; }
[Required]
public string DeweyIndex { get; set; }
}
}
LibaryContent
public class LibaryContext : DbContext {
public LibaryContext(DbContextOptions options) : base(options) { }
public DbSet<Patron> Patrons { get; set; }
public DbSet<Video> Videos { get; set; }
public DbSet<Checkout> Checkouts { get; set; }
public DbSet<CheckoutHistory> CheckOutHistories { get; set; }
public DbSet<LibaryBranch> LibaryBrances { get; set; }
public DbSet<BranchHours> BranchHours { get; set; }
public DbSet<LibaryCard> LibaryCards { get; set; }
public DbSet<Status> Statuses { get; set; }
public DbSet<LibaryAsset> LibaryAssets { get; set; }
public DbSet<Hold> Holds { get; set; }
public bool Books { get; set; }
}
}
我遇到了这种错误
错误CS1061
&#39;布尔&#39;不包含&#39;任何&#39;的定义没有延伸方法&#39;任何&#39;接受第一个类型&#39; bool&#39;可以找到(你错过了使用指令或汇编参考吗?)
LibaryServices
C:\ Users \ Demir \ Documents \ Visual Studio 2017 \ Projects \ Libary-Managment-System \ LibaryServices \ LibaryAssetsService.cs错误CS1061
&#39;布尔&#39;不包含&#39; FirstOrDefault&#39;的定义没有扩展方法&#39; FirstOrDefault&#39;接受第一个类型&#39; bool&#39;可以找到(你错过了使用指令或程序集引用吗?) LibaryServices
C:\ Users \ Demir \ Documents \ Visual Studio 2017 \ Projects \ Libary-Managment-System \ LibaryServices \ LibaryAssetsService.cs 57 Active
答案 0 :(得分:2)
从评论转到答案:
错误消息是
'bool'不包含'Any'的定义,也没有扩展方法'Any'接受类型'bool'的第一个参数可以找到(你是否缺少using指令或者装配参考?)
强调我的。这是有道理的,bool
只是true
或false
,它不包含任何项目。
您已展示Books
的定义:
public bool Books { get; set; }
这应该具有类型DbSet<Book>
,类似于定义上下文中所有其他属性的方式。
(我要猜测:我怀疑你是从DbSet<
开始,开始输入boo
,让你的IDE自动完成bool
而不是{{1}因为Book
不被允许而得到错误,并以错误的方式修正了错误。即使这种猜测在你的情况下不正确,我也看到类似的事情发生过,所以它可以作为一个暗示其他人犯了这个错误,无法弄清楚他们为什么写下他们所做的事情。)