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.

  • 相关阅读:
    Android最流行的网络框架
    linux知识库
    linux tail命令使用
    Android系列之Fragment(二)Fragment的生命周期和返回栈
    viewpager中fragment的生命周期管理
    fragment和fragmentactivity解析
    Android之Activity,Fragment生命周期探知
    Fragment生命周期
    基础总结篇之四:Service完全解析
    Activity的task相关
  • 原文地址:https://www.cnblogs.com/ejiyuan/p/1519142.html
Copyright © 2011-2022 走看看