我想在我的图书馆数据库中查询一本书,所以我写了这段代码......
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Web;
/// <summary>
/// Summary description for Book
/// </summary>
public partial class Book
{
public static List<Book> GetQueryBooks(string query)
{
// Init db
LibraryDataClassesDataContext db = new LibraryDataClassesDataContext();
return db.Books.Where(b => b.Title.Contains(query) || b.Author.Contains(query)).ToList();
}
}
但是我不知道为什么我在返回时遇到“InvalidCastException:指定的强制转换无效”?
答案 0 :(得分:1)
在我看来你错过了一个命名空间 - 所以Book
这里(在class
定义中)指的是global::Book
- 而不是你的LINQ命名空间是什么Book
。从本质上讲,您的partial class Book
与<{1}}知道的Book
的完全不同。
尝试:
LibraryDataClassesDataContext
其中namespace The.Correct.Namespace
{
public partial class Book
{
public static List<Book> GetQueryBooks(string query)
{
// Init db
LibraryDataClassesDataContext db = new LibraryDataClassesDataContext();
return db.Books.Where(b => b.Title.Contains(query) || b.Author.Contains(query)).ToList();
}
}
}
是The.Correct.Namespace
(我猜这里的文件名)正在使用的命名空间。