我正在为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类中,尽管我不在我的数据库中使用它?
答案 0 :(得分:0)
如果您需要一个计算值的函数或属性,则可以将其添加到模型类中。
如果你需要存储一些额外的东西,你不需要将它保存在数据库中的临时值,那么你可能想要使用部分类。这将使您的模型保持干净整洁。