ABP(ASP.NET定型)倉庫・リポジトリを確立する指導初心者5号のためのアプリケーション開発フレームワーク

ABP(ASP.NET定型)倉庫・リポジトリを確立する指導初心者5号のためのアプリケーション開発フレームワーク


初心者の0番インデックスを教えるためのABP(ASP.NET定型)アプリケーション開発フレームワーク


ABPは、このような基本的な共通CRUDなどのストレージ機能を内蔵している、と我々は拡張することができます

インターフェースアーキテクチャのドメイン層とインフラストラクチャ層にそれぞれオープンと実用的記憶装置であります

前記第一のインターフェース部倉庫

ここでは、ストレージ・インターフェースを取得するためのIDと地図で紹介しています。プレイヤーコレクションを対応

まず、我々はコアプロジェクトフォルダ内のアーキテクチャで開くようIRepositoriesを置くために

MyCompany.MyProject.CoreIRepositories

その後、我々は新しいインターフェイスIPlayerRepository.csを追加します

using Abp.Domain.Repositories;
using MyCompany.MyProject.Entities;
using System.Collections.Generic;

namespace MyCompany.MyProject.IRepositories
{
    public interface IPlayerRepository : IRepository
  
  
   
   
    {
        List
   
   
    
     GetPlayersWithMap(long mapID);
    }
}
   
   
  
  

その後、我々は、インタフェース定義倉庫を完成しました

我々はAbsoluteDuo_V4.EntityFrameworkRepositories来た実用的な部分

PlayerRepository.csは、私たちがちょうどインタフェース定義したベースMyProjectRepositoryBase ABPが提供するクラスと継承を継承するクラスを確立IPlayerRepository

using Abp.EntityFramework;
using MyCompany.MyProject.Entities;
using MyCompany.MyProject.IRepositories;
using System.Collections.Generic;
using System.Linq;

namespace MyCompany.MyProject.EntityFramework.Repositories
{
    public class PlayerRepository : MyProjectRepositoryBase
  
  
   
   , IPlayerRepository
    {
        public PlayerRepository(IDbContextProvider
   
   
    
     dbContextProvider) : base(dbContextProvider)
        {

        }

        public List
    
    
     
      GetPlayersWithMap(long mapID)
        {
            // GetAll()返回一个IQueryable
     
     
      
      ,我们可以通过它来查询
            var query = GetAll();

            // 也可以直接使用EF的DbContext对象
            //var query2 = Context.Players.AsQueryable(); 

            // 另一种选择:直接使用Table属性代替"Context.Players",都是一样的。
            //var query3 = Table.AsQueryable();

            if (mapID > 0)
            {
                query = query.Where(c => c.MapID == mapID);
            }
            return query.ToList();
        }

        public async Task
      
      
        > GetPlayersWithMapAsync(long mapID) { return await GetAllListAsync(c => c.MapID == mapID); } } } 
      
     
     
    
    
   
   
  
  
  • GETALLは()
    のIQueryableを返します
    遅延特性読み込んで(遅延ロード)があるため、データベースへの実際の接続は、使用ToListメソッドである()メソッド
  • GetAllListは()
    のリストを返します。
    これは、データが削除されるとき、すぐにデータソースから呼び出されます

サイド倉庫が完成するために設立されました


初心者6号ビルドアプリケーションサービスを教えるためのABP(ASP.NET定型)アプリケーション開発フレームワーク

参照

正式なプロジェクトチュートリアルシリーズを使用して段階的に構築するためのABPフレームワーク

オリジナル:ビッグボックス  教える初心者のための5号ABP(ASP.NET定型)アプリケーション開発フレームワークは、倉庫のリポジトリを確立します


おすすめ

転載: www.cnblogs.com/chinatrump/p/11505605.html