簡體   English   中英

如何在數據庫中持久顯示與C#類屬性關聯的屬性?

[英]How to persist Display properties associated to C# Class properties in database?

所以這是我目前面臨的問題:

  1. 我有從XML架構動態生成的C#業務對象類。

  2. 我動態構建表單以顯示和捕獲綁定到我的業務對象的數據。

  3. 我將序列化的(xml)對象存儲到數據庫中。

  4. 我需要將與每個屬性相關的顯示屬性持久化到我的Business Object C#類中(如何完成此操作?)

可以說我有一個人業務對象:

public class Person
{
   public string Name {get;set;}
   public PhoneType Phone {get;set;}
}

public class PhoneType
{
   public string HomePhone{get;set;}
   public string WorkPhone{get;set;}
}

現在,假設我創建了一個新的Person:

Person me = new Person();
me.Name = "BOB";
me.Phone = new PhoneType()
me.Phone.HomePhone = "1234";
me.Phone.WorkPhone = "4321";

現在,當我構建表單時,我知道Person.Name是一個Width = 300和Height = 30的TextBox,而我的PhoneType.HomePhone和PhoneType.WorkPhone是一個Width 200和Height = 30的TextBoxes。

將這些顯示屬性保留在數據庫中並將它們與業務對象中的每個屬性相關聯的最佳方法是什么? 考慮到我的大多數業務對象都由非常深的對象圖表示...,所以我想知道最好的方法是基於模型的深層層次結構從數據庫中遞歸存儲和重新生成顯示屬性。

現在有一些條件:-我不想存儲靜態表單,因為我的應用程序非常動態。 XSD->代碼->表單-顯示屬性可能是用戶特定的(例如,某些字段的背景色),因此不能只具有通用的表單模板-我只需要一個很好的機制來關聯POCO屬性以顯示屬性,以便我可以構建我的表格在運行,並持久保存對數據庫的更改

我目前正在探索在每個業務對象中創建PropertyBag(集合)屬性並在導航對象圖時以遞歸方式填充它們的可能性,但是還沒有走很遠。

我們處理此問題的方法是為每個類提供唯一的標識符屬性,然后將UI定義(包括必填字段,大小,標簽值等)存儲在數據庫中。

實際上,我們還將類中的每個屬性都賦予了屬性,以將視覺上重要的屬性與僅“助手”的屬性分開。

在運行時,我們使用反射來檢索要顯示的類和屬性的屬性,然后從數據庫中獲取適當的視覺修飾符列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM