C# 實體類忽略某些屬性欄位不對映到資料庫
阿新 • • 發佈:2021-01-19
java中有@Transient註解 描述屬性並非一個到資料庫表的欄位的對映,ORM框架將忽略該屬性。
C#中也有型別的方法
- 使用PetaPoco框架時,直接在屬性上面加 [PetaPoco.Ignore]
PetaPoco 忽略實體類中某個欄位,給該欄位加上 PetaPoco.Ignore 特性 即可。
public class userinfo
{
[PetaPoco.Ignore]
public long name { get; set; }
}
PetaPoco是一個小型、快速、單檔案的微型ORM(Object Relational Mapper)框架,可在.NET和Mono環境執行。
官方介紹:http://www.toptensoftware.com/petapoco/
原始碼地址:https://github.com/CollaboratingPlatypus/PetaPoco
- 新增一個實體類A,查詢時用sql語句,實體類滿足select中欄位即可
新實體類A裡可以加不需要對映到 資料庫的列,或者一些資料庫表裡不存在的列,方便程式碼進行二次處理資料,臨時儲存用,記得只能用於查詢使用。
查詢資料庫時 不要求實體類的屬性欄位必須與資料庫表的 的欄位一致,只要滿足 select 的那些列即可。
但是往資料庫新增和修改操作時,必須要求實體類與資料庫表的欄位一致。
因此,新增修改使用一個實體類,查詢時可以使用 新實體類A。