如何在LinQ映射中手动添加外键关联

本文关键字:添加 关联 LinQ 映射 | 更新日期: 2023-09-27 18:01:07

你好,我正在尝试在LinQ中生成一个表。我有一把外键,但我不知道如何定义这种关系。这是我的代码:

using System.Data.Linq.Mapping;

[Table]
public class Resources
{
    [Column(IsPrimaryKey = true)]
    public int ResourceId { get; set; }
    [Column]
    public string ResourceDesc { get; set; }
    [Column]
    public string LanguageId { get; set; }
}
[Table]
public class Languages
{
    [Column(IsPrimaryKey = true)]
    public int LanguageId { get; set; }
    [Column]
    public string LanguageDesc { get; set; }
}

因此,我希望Resources表中的LanguageId引用Languages表中的LanguageId作为外键。我怎样才能做到这一点?

如何在LinQ映射中手动添加外键关联

您可以使用EntityRef 定义外键

    public int LanguageID{ get; set; }
    private EntityRef<Languages> _relatedLanguage= new 
    EntityRef<Languages>();
    [Association(IsForeignKey =true, ThisKey = "LanguageID", Storage = 
    "_relatedLanguage")]
    public Languages RelatedLanguage
    {
        get { return _relatedLanguage.Entity; }
        set { _relatedLanguage.Entity = value; }