两个不同的类或一个具有未使用的属性

时间:2014-03-06 09:21:36

标签: c# linq software-design

我正在为Windows Phone 8开发增强现实。

这个应用程序将有一个数据库,我正在使用Linq-to-SQL来创建它。这是将有app的表:

[Table]
public class ARLocation : INotifyPropertyChanged, INotifyPropertyChanging
{
    [Column(DbType = "INT NOT NULL Identity", IsDbGenerated = true, IsPrimaryKey = true)]
    public int ARLocationId { get; private set; }

    private string name;
    private string description;
    private double latitude;
    private double longitude;

    [Column]
    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            if (name != value)
            {
                NotifyPropertyChanging();
                name = value;
                NotifyPropertyChanged();
            }    
        }
    }

    [Column]
    public string Description
    {
        get
        {
            return description;
        }
        set
        {
            if (name != value)
            {
                NotifyPropertyChanging();
                description = value;
                NotifyPropertyChanged();
            }
        }
    }

    [Column]
    public double Latitude
    {
        get
        {
            return latitude;
        }
        set
        {
            if (latitude != value)
            {
                NotifyPropertyChanging();
                latitude = value;
                NotifyPropertyChanged();
            }
        }
    }

    [Column]
    public double Longitude
    {
        get
        {
            return longitude;
        }
        set
        {
            if (longitude != value)
            {
                NotifyPropertyChanging();
                longitude = value;
                NotifyPropertyChanged();
            }
        }
    }

    public event PropertyChangingEventHandler PropertyChanging;
    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
    {
        var propertyChangedCopy = PropertyChanged; 
        if (propertyChangedCopy != null)
        {
            propertyChangedCopy(this, new PropertyChangedEventArgs(propertyName));
        }
    }

    private void NotifyPropertyChanging([CallerMemberName] string propertyName = "")
    {
        var propertyChangingCopy = PropertyChanging;
        if (propertyChangingCopy != null)
        {
            propertyChangingCopy(this, new PropertyChangingEventArgs(propertyName));
        }
    }
}

但要显示数据,我需要另一列,名为Distance

这是一个软件设计问题

我是否需要两个类,或者我可以将该列添加到ARLocation类中,尽管我不在我的数据库中使用它?

1 个答案:

答案 0 :(得分:0)

如果您需要一个计算值的函数或属性,则可以将其添加到模型类中。

如果你需要存储一些额外的东西,你不需要将它保存在数据库中的临时值,那么你可能想要使用部分类。这将使您的模型保持干净整洁。