ライブラリ用に、C#を使用してVisual Studio 11で簡単なアプリケーションを作成しています。
簡単に言えば、データベース (SQL Server) とやり取りして、新しい本をデータベースに登録します。
ユーザーは、本の名前、著者、言語、発行年、本の発行者、および本の ID を入力するよう求められます。これらはすべて、 というテーブルの列BookInformation
です。と呼ばれる別のテーブルがありますCategories
。このテーブルの機能はまだ実装されていないため、今のところ、このテーブルはまったく問題ではありません。
私たちは、雑誌ではなく、常に本について話しています (たとえば)。
データベースに保存されている各書籍のすべての情報を 1 行で表示する適切なクエリを作成する方法を教えてください。
私がこれまでに行ったことは次のとおりです。
var allBooks = from p in db.BookInformation
where p.CategoryId == "BOOKS"
orderby p.BookName
select p;
Console.WriteLine("All books in database:");
foreach (var item in allBooks)
{
Console.WriteLine(" - {0}, {1}, {2}, {3}, {4}", item.BookName, item.Author, item.Year, item.Language, item.BookId);
}
それは非常に奇妙な結果をもたらし、それが間違っていることは明らかです。
ありがとうございました
編集 - これはそれが生成するSQLです
SELECT
[Extent1].[BookId] AS [BookId],
[Extent1].[BookName] AS [BookName],
[Extent1].[Author] AS [Author],
[Extent1].[Publisher] AS [Publisher],
[Extent1].[Year] AS [Year],
[Extent1].[Language] AS [Language],
[Extent1].[CategoryId] AS [CategoryId],
[Extent1].[TimeOfRegistrating] AS [TimeOfRegistrating]
FROM
[dbo].[BookInfoes] AS [Extent1]
WHERE
N'BOOKS' = [Extent1].[CategoryId]
ORDER BY
[Extent1].[BookName] ASC