我正在使用VS 2010和LinqToSql。当我将视图拖到图表上并设置我的关系时,XML会更新,但是类不会使用支持方法和属性进行更新。
在我这样做之前,我会得到一个这样的房产:
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="Question_QuestionAggregatesView", Storage="_QuestionAggregatesView", ThisKey="Id", OtherKey="Id", IsUnique=true, IsForeignKey=false)]
[global::System.Runtime.Serialization.DataMemberAttribute(Order=38, EmitDefaultValue=false)]
public QuestionAggregatesView QuestionAggregates
{
get
{
if ((this.serializing
&& (this._QuestionAggregatesView.HasLoadedOrAssignedValue == false)))
{
return null;
}
return this._QuestionAggregatesView.Entity;
}
set
{
QuestionAggregatesView previousValue = this._QuestionAggregatesView.Entity;
if (((previousValue != value)
|| (this._QuestionAggregatesView.HasLoadedOrAssignedValue == false)))
{
this.SendPropertyChanging();
if ((previousValue != null))
{
this._QuestionAggregatesView.Entity = null;
previousValue.Question = null;
}
this._QuestionAggregatesView.Entity = value;
if ((value != null))
{
value.Question = this;
}
this.SendPropertyChanged("QuestionAggregates");
}
}
}
但是LinqToSql没有为我新添加的视图创建这种类型的属性。
这是VS2010中的错误还是我做错了什么?
非常感谢!!
答案 0 :(得分:0)
在一些复杂的搜索引擎查询操作之后找到答案:
http://www.bartlannoeye.com/blog/linq-to-sql-not-generating-code-for-association
感谢Bart Lannoeye的有用帖子。简而言之,因为我在图中添加了一个视图,所以默认情况下没有添加主键。我必须在图中指定视图的主键,之后一切正常。