0

まず、いくつかのテーブルを定義しましょう。

Users テーブルには、ユーザーに関する情報が格納されます。

Users
- UserID (int, PK)
- ...

UserTasks は、ユーザーに関連付けられたタスクを格納するテーブルです。

UserTasks
- userID (int, FK to Users table)
- taskName (varchar)

ADO Entity Framework を使用して UserTasks テーブルを生成すると、次のようなクラスが得られます。

UserTasks
- taskName (文字列)
- Users (Users オブジェクトのコレクション)

注: UserTasks テーブルで生成されるユーザー ID はありません。では、新しいユーザー タスクを挿入する必要があるとしましょう...どうすればよいでしょうか? userID FK フィールドへのアクセス権がないため、唯一のオプションは、ルックアップを実行して Users オブジェクトに入力し、それを次のようにタスク オブジェクトに渡すことです。

//get the user we are interested in 
var user = (from u in context.Users
           where u.userID == 2
           select u).FirstOrDefault();  

//create the new task
UserTasks newTask = new UserTasks();
newTask.taskName = "New Task";
newTask.User = user;

上記の問題は、ユーザー オブジェクトを設定するために余分で不必要なデータベース呼び出しを行っていることです。どうにかして私のuserIDフィールドへの新しいマッピングを作成し、それでもUserオブジェクトを保持する方法はありますか?

ありがとう

--ライアン

4

1 に答える 1

1

今ではありませんが、おそらく次のバージョンで

于 2008-11-11T17:53:35.843 に答える