にUser割り当てられた がありClientます。オブジェクトを引き出すとき、オブジェクトをその一部としてUser取得します。Client単純。
これは、ログイン時に正常に機能します。ログインしたユーザーに関係なく、Userオブジェクトには があります。Client
ただし、まったく同じ方法を使用しUserて、ログイン時に as を取得し、管理メニューから編集するとClient、null.
私は時々言います:
1) Firefox の場合 -すべてではありませんがほとんどのユーザー (および私自身) の詳細を表示しようとすると、 にClient添付されたUserが になりますnull。が実際に存在するUsersため、表示できるのは の 2 つだけです。Client
2) Chrome の場合 - すべてのユーザー (自分を除く) が表示されます。自分のユーザーを表示しようとした場合にのみClient、null.
理解できない; どちらのブラウザも単純に同じ URL にアクセスします。つまり/Users/EditGet/28、2 つの異なるメソッド (GetByIdおよびGetByUserName) を使用しても同じ結果が得られますが、どちらもベースの Get 関数を使用していることは確かです。
編集: 編集ではなく BaseService クラスを一緒に。
internal CustomContext context;
internal DbSet<TEntity> dbSet;
public BaseService(CustomContext context)
{
    this.context = context;
    this.dbSet = context.Set<TEntity>();
}
public virtual IEnumerable<TEntity> Get(
    Expression<Func<TEntity, bool>> filter = null,
    Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
    string includeProperties = "")
{
    IQueryable<TEntity> query = dbSet.Where(e => !e.Deleted);
    if (filter != null)
    {
        query = query.Where(filter);
    }
    foreach (var includeProperty in includeProperties.Split(new [] {','}, StringSplitOptions.RemoveEmptyEntries))
    {
        query = query.Include(includeProperty);
    }
    return orderBy != null ? orderBy(query).ToList() : query.ToList();
}
ブラウザーの選択がバックエンド クエリの結果に影響する理由がまったくわかりません。確かに、私が使用しているブラウザに関係なく、Clientを返すはずです。User
おそらく基本 Get メソッドの基本的な障害だと思いますが、私が見ている動作を説明していません...
誰かがこれに光を当てることができれば、私は最も感謝しています.
編集 2: CustomContext:
public class CustomContext : DbContext, ICustomContext
{
    public IDbSet<User> Users { get; set; }
    public IDbSet<Client> Clients { get; set; }
}