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定型)アプリケーション開発フレームワークは、倉庫のリポジトリを確立します