在C#中声明一个空集的属性

时间:2015-05-17 15:16:36

标签: c# entity-framework

我首先使用实体​​框架数据库并扩展AutoGenerated分部类。如果我还需要根据某些场景在我的应用程序中设置属性,以下是否正常?这只是感觉很奇怪,因为我通常会在我的场景中设置一个私有财产,但我认为我不需要在这里使用EF。

public string FullName
{
  get
  {
    return string.Format("{0} {1}", FirstName, LastName);
  }
  set
  {

  }
}

在我的应用程序中,FullName是网格中的绑定字段。当我从数据库绑定网格时,它作为只读属性工作正常。但是有一个实例,我必须动态创建CustomerContact的对象列表并将其传递到Session变量中的另一个页面,并将网格绑定在新页面的内存中。由于新页面上网格中同一列的绑定字段需要为FullName,因此我似乎无法选择允许此属性上的Set ...

1 个答案:

答案 0 :(得分:1)

根据评论。不,你不应该把它留空。

从用户的角度考虑它。 你可以说MyThingy.FullName =" Fred Blogs"。它编译,它没有抛出任何例外,绝对没有。 其他人的代码,包括你自己在几个月内的代码,在你开始之前没有在你的皮质上钻大洞的情况下很难理解。

从最后的评论中加强。不,让一个具有两种完全不同的行为的类没有意义。有很多方法可以处理这种情况,但是制作一个实现这两种行为的对象并不是一个好的选择。

很难说哪个选项最好,但是带有转换器的DTO(数据传输对象)以及可能转换为EF表示将是一个更好的解决方案,而不是在逻辑中留下一个巨大的漏洞。 / p>