Linq to SQL:指定的强制转换无效

时间:2013-11-11 14:51:44

标签: c# asp.net sql linq

我想在我的图书馆数据库中查询一本书,所以我写了这段代码......

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:指定的强制转换无效”?

1 个答案:

答案 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(我猜这里的文件名)正在使用的命名空间。