3

私はlinqに少し慣れていないので、自分が望むことが可能かどうかわかりません。私は基本的に、一連の属性を含むUserというクラスを持っています。クエリから取得した[名前]フィールドと[ID]フィールドのみに入力したい。私のクエリは適切な結果を私に与えますが、それをユーザーに取り込む方法がわかりません。これは私が得る最も近いものですが、私はそれが間違っていることに気づきます。

 IEnumerable<User> UserList;
 UserList = (from o in dbContext.application_user
             join p in dbContext.project on application_user.user_id = project.project_manager
             select o);

これは、User_ID、Firstname、およびLastnameのリストを返しますが、userに適合しません。私のユーザークラスには複数の変数があるので、int、string、string型の3つのIEnumerablesを呼び出して、1つのクエリから3つすべてを埋めることができれば、それにアプローチすることを考えていました。次に、User = new User(name = x 、id = x)など。

FNameList, LNameList, ID = *insert query here*
4

2 に答える 2

7

UserLinqクエリ内でオブジェクトを作成できます。

IEnumerable<User> UserList;
UserList = (from o in dbContext.application_user
            join p in dbContext.project on application_user.user_id = project.project_manager
            select new User(o.FName, o.LName, o.ID));

Userこれは、コンストラクターがそれらのような3つの引数を取り、のプロパティが、、、およびであるとo想定FNameLNameていIDますが、あなたはその考えを理解しています。このselect句を使用して、結果を必要な形式に変換できます。

于 2012-07-06T14:37:40.953 に答える
2

トランスフォーメーションを使用Userしてのインスタンスを作成できます。Select

var userQuery = from o in dbContext.application_user
                join p in dbContext.project on application_user.user_id = project.project_manager
                select o;

IEnumerable<User> UserList = from o in userQuery.ToList()
                             select new User() {Name = o.Lastname, ID = o.user_ID};

Userあなたのクラスがどのように見えるかはわかりませんが、あなたはその考えを理解しています。

于 2012-07-06T14:37:54.410 に答える