1. 程式人生 > 實用技巧 >C# 實體類忽略某些屬性欄位不對映到資料庫

C# 實體類忽略某些屬性欄位不對映到資料庫

java中有@Transient註解 描述屬性並非一個到資料庫表的欄位的對映,ORM框架將忽略該屬性。
C#中也有型別的方法

  1. 使用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

  1. 新增一個實體類A,查詢時用sql語句,實體類滿足select中欄位即可
    新實體類A裡可以加不需要對映到 資料庫的列,或者一些資料庫表裡不存在的列,方便程式碼進行二次處理資料,臨時儲存用,記得只能用於查詢使用。
    查詢資料庫時 不要求實體類的屬性欄位必須與資料庫表的 的欄位一致,只要滿足 select 的那些列即可。
    但是往資料庫新增和修改操作時,必須要求實體類與資料庫表的欄位一致。
    因此,新增修改使用一個實體類,查詢時可以使用 新實體類A。