Linq to sql Linq到SQL外键映射

Linq to sql Linq到SQL外键映射,linq-to-sql,Linq To Sql,我正在尝试使用属性进行基本的lnq到sql外键映射。这应该很简单,但我很难在网上找到合适的信息。我哪里做错了 例如,假设您有一个名为User的类,上面有UserId、FirstName、LastName和Location。位置是一个称为位置的对象 Location类具有LocationId、StreetNum、Name和Subcounter 如何使用Linq将其映射到Sql 这就是我要尝试的 [Column] public int LocationId { get; set; }

我正在尝试使用属性进行基本的lnq到sql外键映射。这应该很简单,但我很难在网上找到合适的信息。我哪里做错了

例如,假设您有一个名为User的类,上面有UserId、FirstName、LastName和Location。位置是一个称为位置的对象

Location类具有LocationId、StreetNum、Name和Subcounter

如何使用Linq将其映射到Sql

这就是我要尝试的

 [Column]
    public int LocationId { get; set; }

    private EntityRef<Location> _location;
    [Required(ErrorMessage = "Please enter your suburb")]
    [System.Data.Linq.Mapping.Association(Storage = "_location", ThisKey = "LocationId", IsForeignKey = true)]
    public Location Location
    {
        get { return this._location.Entity; }
        set { this._location.Entity = value;
            LocationId = value.LocationId;
        }
    }
[栏目]
public int LocationId{get;set;}
私有实体引用位置;
[必需(ErrorMessage=“请输入您的密码”)]
[System.Data.Linq.Mapping.Association(Storage=“\u location”,ThisKey=“LocationId”,IsForeignKey=true)]
公共场所
{
获取{返回此。_location.Entity;}
设置{this.\u location.Entity=value;
LocationId=value.LocationId;
}
}
我得到了这个错误: 无法将null值分配给System.Double类型的成员,该类型是不可为null的值类型


有人能帮忙吗?

也许,你在什么地方使用了双数据类型(StreetNum,也许)。
在数据库中,相应的列被标记为NULL标志。试着用双倍?或属性的可空数据类型。

尝试使用设计器从数据库中的定义自动生成代码,并查看代码生成器输出的内容。