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.

  • 相关阅读:
    linux
    查看字符的编码数字
    各种语系的unicode对应以及local编码方式
    Unicode字符集,各个语言的区间
    深入理解Python的字符编码
    php 快排
    归并排序
    检测到在集成的托管管道模式下不适用的 ASP.NET 设置的解决方法
    分布式缓存MemcacheHelper
    单例模式
  • 原文地址:https://www.cnblogs.com/ejiyuan/p/1519142.html
Copyright © 2011-2022 走看看