|
分類:[.NET 全般]
いつもお世話になっております。 WindowsFormで開発したものをSilverlight用に書き換えているのですが、SilverlightではDataTableクラスが使用できないため、DataContract用のクラスに変換してデータを表示させています。
DataTable table =default(DataTable); //table = 既知なものを取得; List<ItemInfo> infos= new List<ItemInfo>(); foreach (DataRow row in table.Rows) { infos.Add(new ItemInfo(){ ITEM_CODE = row["ITEM_CODE"].ToString(), ITEM_NAME = row["ITEM_NAME"].ToString(), ITEM_PRICE = Convert.ToDecimal(row["ITEM_PRICE"]), }); }
[DataContract] public sealed class ItemInfo { [DataMember] public string ITEM_CODE {get;set} [DataMember] public string ITEM_NAME {get;set} [DataMember] public decimal ITEM_PRICE {get;set} }
この場合カラム数ならびにカラム名がはじめから分かっているため用意できるのですが、カラム数が動的の場合それに応じてDataContract用のクラスを動的に作成し、さらには動的にWCFサービス化してSilverlightで使用するといったことは可能なのでしょうか? それともEntityFrameWorkを利用するとこの問題は解決するのでしょうか? EntiryFremeWorkについて良く分からないのですが、結合などの設定が手間がかかりそうで懸念しております。 以上よろしくお願い致します。
|