简体   繁体   English

C#自定义设置器实体框架6.1.3

[英]C# Custom Setter Entity Framework 6.1.3

I've tried searching for an answer to this question but maybe my google skills are slacking (it is Wednesday after all). 我曾尝试寻找此问题的答案,但也许我的Google技能太弱了(毕竟是星期三)。

I want to use a custom setter like this. 我想使用这样的自定义设置器。

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

That works great as long as I do something like this. 只要我做这样的事情,那就很好。

    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();

What I want to do is this. 我想做的就是这个。

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();

The second way always returns null (It's never setting?) Is there any way to always have that setter run when I populate ITEMDATA? 第二种方法始终返回null(从不设置?)填充ITEMDATA时,是否有任何方法可以始终运行该setter?

I'm fairly new to custom setters and getters so any reference would be greatly appreciated. 我对自定义设置器和获取器是相当陌生的,因此任何参考将不胜感激。

You're doing it on the wrong property. 您在错误的属性上执行此操作。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM