class 資料庫 : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder 選項) => 選項.UseSqlServer(連接字串);
protected override void OnModelCreating(ModelBuilder 構造)
{
構造.Entity<成交紀錄>().HasOne(o => o.交易序列).WithMany(m => m.成交紀錄).HasForeignKey(f => f.代幣);
}
public DbSet<交易序列> 交易序列 { get; set; }
public DbSet<成交紀錄> 成交紀錄 { get; set; }
}
public partial class 策略二 : Form除錯發現,建構式 和 分析() 里的foreach陳述句都會訪問資料庫。因為分析這個函式偶爾會修改資料,大部分時間只是讀取資料。我能否設定它在讀取時不要訪問資料庫了,因為建構式已經把資料加載到記憶體里了,不需要再去資料庫里拿資料了。我只需要當我SaveChanges()時再去接觸資料庫就行了。
{
資料庫 資料 = new();
DbSet<交易序列> 序列集;
public 策略二()
{
序列集 = 資料.交易序列;
foreach (交易序列 序列 in 序列集)
格式化(序列);
}
void 分析()
{
foreach (交易序列 序列 in 序列集)
猛如虎的操作(序列);
}
void 保存() => 資料.SaveChanges();
}
uj5u.com熱心網友回復:
在資料層與訪問層之間產生了映射關系,在增、刪、改、查動作時,都會對資料層進行訪問連接。那在查詢出來的結果,要保留進行后續的邏輯上的處理,那就需要用到Dto概念。
即:DTO(Data Transfer Object)資料傳輸物件,這個概念來源于J2EE的設計模式,原來的目的是為了EJB的分布式應用提供粗粒度的資料物體,以減少分布式呼叫的次數,從而提高分布式呼叫的性能和降低網路負載,但在這里,我泛指用于展示層與服務層之間的資料傳輸物件。
DTO也需要泛型物體來表示,可以將獲取的集,寫入全域性快取。
隨時在繼承關系上進行獲取該集,進行所需邏輯上的處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/284721.html
標籤:應用實例