1:LINQ-to-SQL 公开了双重 API:外键通常以原始形式和对象形式呈现。所以我完全希望WFTypeID
成为一个int?
或类似的人。有趣的问题是:还有WFType
属性吗?如果没有,您可能需要检查关联属性。单击虚线,查看子/父属性,并检查基数。
2: {0|1}-* 关系中的支持字段是 是正常的EntityRef<T>
,但是 - LINQ-to-SQL 生成的公共API 应该只是T
; 例如:
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="AssociationName", Storage="_User", ThisKey="UserId", OtherKey="Id", IsForeignKey=true)]
[global::System.Runtime.Serialization.DataMemberAttribute(Order=7, EmitDefaultValue=false)]
public User User
{
get
{
if ((this.serializing
&& (this._User.HasLoadedOrAssignedValue == false)))
{
return null;
}
return this._User.Entity;
}
set
{
if ((this._User.Entity != value))
{
this.SendPropertyChanging();
this._User.Entity = value;
this.SendPropertyChanged("User");
}
}
}
其中 member-name 来自关联的“父属性”>“名称”:
请注意,_User
是EntityRef<User>
,但 public 属性User
是 type User
。