2016-12-14 69 views
0

我試圖尋找一個回答這個問題,但也許我的谷歌技能偷懶(它是星期三畢竟)。C#定製的setter實體框架6.1.3

我想用這樣一個自定義的制定者。

public class ITEMViewModel 
{ 
    public ITEM_ACTIVE ITEMDATA { get; set; } 
    private string _ThumbnailUNC; 
    public string ThumbnailUNC 
    { 
     get 
     { 
      return _ThumbnailUNC; 
     } 
     set 
     { 
      _ThumbnailUNC = FileLocation.getThumb(value); 
     } 
    } 
} 

只要我做這樣的事情,這很有效。

ae.ITEM_ACTIVE 
     .Where(x => x.ORG == Org && x.PART_NUMBER == PN) 
     .Select(x => new ITEMViewModel 
     { 
       ITEMDATA = x, 
       ThumbnailUNC = x.PART_NUMBER //This is the important part 
     }) 
     .FirstOrDefault(); 

我想要做的是這樣的。

set 
{ 
    _ThumbnailUNC = FileLocation.getThumb(ITEMDATA.PART_NUMBER); //Not value 
} 

ae.ITEM_ACTIVE 
     .Where(x => x.ORG == Org && x.PART_NUMBER == PN) 
     .Select(x => new ITEMViewModel 
     { 
       ITEMDATA = x 
     }) 
     .FirstOrDefault(); 

第二種方法總是返回null(這是從來沒有設置?)有什麼辦法總是有二傳手奔跑,當我填充的ItemData?

我是相當新的自定義getter和setter方法,所以任何的參考,將不勝感激。

回答

1

你這樣做是在錯誤的性質。

private ITEM_ACTIVE _itemData; 
public string ThumbnailUNC { get; private set; } 
public ITEM_ACTIVE ITEMDATA 
{ 
    get 
    { 
     return _itemData; 
    } 
    set 
    { 
     _itemData = value; 
     ThumbnailUNC = value.PART_NUMBER; 
    } 
} 
+0

非常感謝這正是我一直在尋找的!有些時候,簡單的東西很難谷歌搜索:) –