首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

LINQ to SQL ColumnAttribute Storage 屬性詳解:指定後備字段名稱

     編輯:程式設計疑難解答

在 LINQ to SQL 實體類中,[Column(Storage = "_fieldName")] 的 Storage 屬性用於**指定屬性底層存儲數據的私有字段名稱**。

作用機制

private int _age; // 後備字段

[Column(Storage = "_age", DbType = "INT NOT NULL")]
public int Age {
    get { return _age; }
    set { _age = value; }
}
  • 若**不指定** Storage,LINQ to SQL 會自動創建一個同名私有字段(如 _Age)
  • 指定 Storage 後,框架**直接讀寫該字段**,繞過屬性的 get/set,性能略高且能讀寫私有字段
  • 常用於:字段名與屬性名不一致、需要在屬性中添加邏輯(如驗證、觸發事件)但框架仍需直接存取

對比

場景Storage 用法
屬性名 = 字段名,無邏輯可省略,框架自動推斷
屬性有驗證邏輯必須指定 Storage 指向私有字段,否則框架調用屬性 setter 觸發驗證導致加載失敗
字段命名風格不同如字段 m_age,屬性 Age,需 Storage="m_age"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved