【发布时间】:2018-09-24 13:18:43
【问题描述】:
我刚开始使用 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; }
}
}
图书馆内容
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
“bool”不包含“Any”的定义,并且找不到接受“bool”类型的第一个参数的扩展方法“Any”(您是否缺少 using 指令或程序集引用?)
图书馆服务
C:\Users\Demir\Documents\Visual Studio 2017\Projects\Libary-Managment-System\LibaryServices\LibaryAssetsService.cs错误 CS1061
“bool”不包含“FirstOrDefault”的定义,并且找不到接受“bool”类型的第一个参数的扩展方法“FirstOrDefault”(您是否缺少 using 指令或程序集引用?) 图书馆服务
C:\Users\Demir\Documents\Visual Studio 2017\Projects\Libary-Managment-System\LibaryServices\LibaryAssetsService.cs 57 活动
【问题讨论】:
-
能否在
_context对象中包含Books的定义? -
该错误表明您在
_context.Books上调用的.Any/.FirstOrDefault是bool。不应该,它应该类似于DbSet<Book>。你能说明它是如何定义的吗? -
当然,我发布了 book.cs 模型
-
public bool Books { get; set; }-- 是的,这解释了错误。这是某种错字还是你真的想要DbSet<Book>以外的东西? -
谢谢@hvd 我没有在我的模型中看到这个愚蠢的错误。现在工作:)
标签: c# asp.net-core