zoukankan      html  css  js  c++  java
  • Ado.Net Entity : Object doesn’t display linked members (foreign keys)

    I have a simple databasescheme: User, Account. User has 1-to-many relationship with Account.

    I have generated a ado.net entity data model, and I can create users and accounts, and even link them together. In the database the account.user_id is correctly filled, so theoretically I should be able to acces User.Account.ToList() in C# through entity.

    However, When I try to acces User.Account.ToList() I get zero results.

    User user = db.User.First(U => U.id == 1);
    List
    <Account> accounts = user.Account.ToList(); ##count = 0

    When I add the following code before the previous code it suddenly gives me the correct count 2.

     Account account1 = db.Account.First(A => A.id == 1);
     Account account2 
    = db.Account.First(A => A.id == 2);
     User user 
    = db.User.First(U => U.id == 1);
     List
    <Account> accounts = user.Account.ToList(); ##count = 2??

    What am I missing here?

    You should use the ObjectQuery.Include method for this. Your method works also but results in an additional query.

    In your example you would get

    User user = db.User.Include("Account").First(u => u.id == 1);

    You have to figure out whether the string "Account" is correct. Usually it should be prefixed with something like MyEntities. This depends on the namespace of your entities but with a little trial and error you should be able to figure this out.

  • 相关阅读:
    make dep
    TS流的解析
    qt ISO C++ forbids declaration of 'XXXX' with no type
    qt 中文乱码
    qt creator 快捷键 (一)
    qt 坐标变换
    Qt常用类及类方法简介之 QAction类
    QWidget背景(透明)问题
    如何在 QWidget 窗口上弹出右键菜单
    qt 事件
  • 原文地址:https://www.cnblogs.com/ejiyuan/p/1519142.html
Copyright © 2011-2022 走看看