我有以下内容:
var db = new datesDataContext();
var query =
from ord in db.Dates
where ord.id == id
select ord;
foreach (Date ord in query)
{
ord.date1 = product.date1;
ord.name = product.name;
}
db.SubmitChanges();
除了SubmitChanges没有在数据库中进行更改外,一切运行正常(没有错误等)。
ord.dat1和ord.name肯定正在设置......
编辑:这是我的日期类(它表示部分,但它是整个类,其他地方没有其他定义):
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Dates")]
public partial class Date
{
private System.Nullable<int> _id;
private System.Nullable<System.DateTime> _date1 = DateTime.Now;
private string _name;
public Date()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_id", DbType="Int")]
public System.Nullable<int> id
{
get
{
return this._id;
}
set
{
if ((this._id != value))
{
this._id = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="date", Storage="_date1", DbType="DateTime")]
public System.Nullable<System.DateTime> date1
{
get
{
return this._date1;
}
set
{
if ((this._date1 != value))
{
this._date1 = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_name", DbType="Text", UpdateCheck=UpdateCheck.Never)]
public string name
{
get
{
return this._name;
}
set
{
if ((this._name != value))
{
this._name = value;
}
}
}
}
答案 0 :(得分:1)
您的Date类是否实现了INotifyPropertyChanged?
编辑:在Date类中实现INotifyPropertyChanged
public partial class Date : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
......其余的课程定义
并在每个setter方法中使用此代码后更改值
NotifyPropertyChanged("PropertyName");
您的案例中的PropertyName是id,date1和name。
您还需要指定主键,否则跟踪更改将无效。
答案 1 :(得分:1)
这应该有效。您的配置或模型类都必须出错。你也可以包含Date类的代码吗?
我在你的“name”属性旁边看到了这个:UpdateCheck = UpdateCheck.Never
我猜这个设置导致该属性无法更新。