私はできるだけ早くlinq to sql/objectsを学習しようとしています。私はCategoryテーブルとsub_categoryテーブルを持つデータベースを持っています。カテゴリには、複数のサブカテゴリを持つことができます。レッスンとして、カテゴリのリストを取得しています。ユーザーは、表示されたカテゴリから主キーを入力し、すべてのサブカテゴリを表示します。Entity Frameworkを使用したLINQ - 基本的な質問
カテゴリを表示するのは簡単でした...しかし、Entity Frameworkはサブキーから外部キーを削除しました!サブカテゴリーテーブルにカテゴリIDが表示されます(SQLサーバーデータベースモデルにあるように)。
代わりに、私はいくつかのCategoryReferenceプロパティを持っています...どうすればこれを管理できますか?
static void Main(string[] args)
{
BudgieMoneyEntities db = new BudgieMoneyEntities();
var categories = (
from category in db.categories
select category).ToList();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Categories:");
Console.ForegroundColor = ConsoleColor.White;
foreach (category cat in categories)
{
Console.WriteLine(string.Format("{0:00} {1}", cat.category_id,
cat.description));
}
int categoryId = WaitForKey();
var subcategories = (
from subcategory in db.sub_category
where subcategory ?? ?
select subcategory).ToList();
}
??私が立ち往生している場所です...私はどのようにこれをどこで行うのですか?プロパティcategory
とcategory_id
の名前が異なる場合があります
var subcategories = (
from subcategory in db.sub_category
where subcategory.category.category_id == categoryId
select subcategory).ToList();
:
ありがとうSteven!それはうまくいった。素晴らしい。名前を複数にしようとしています。エンティティを手動で変更する必要がありますか?もしそうなら、後でデータベースからモデルをリフレッシュする必要がある場合は、手動で名前を変更する必要があります。 – Craig
エンティティとその関係を手動で変更する必要があります。データベースへの変更はまだ(ソフトウェア開発では常にあったように)ちょっとした作業です。エンティティを削除して、データベースを変更した後にそれらを読み取らないようにします。それは、すべての名前をもう一度変更する必要があるので、多くの作業になります。それはできるだけあなたのコードをきれいに保つために支払う価格です – Steven
おかげでスティーブン - 外国キーはすべてうまく確立されていますので、私は私のlinqエンティティで変更する必要があります。助けてくれてありがとう。 – Craig