Linq to sql 为什么ForeignKey_Edit将主键作为值加载,而不是关联中使用的实际值?

Linq to sql 为什么ForeignKey_Edit将主键作为值加载,而不是关联中使用的实际值?,linq-to-sql,asp.net-dynamic-data,Linq To Sql,Asp.net Dynamic Data,我正在使用ASP.NET动态数据创建票证编辑表单。票据与问题代码关联,但不使用问题代码的主键。(数据库是第三方的,所以我无法控制…) 因此,问题代码基本上如下所示: ProblemCode ( ID int, Code varchar(8), Description varchar(250) ) 关联在Ticket.ProblemCode和ProblemCode.Code之间 现在的问题是ForeignKey_Edit(实际上是PopulateListControl)用

我正在使用ASP.NET动态数据创建票证编辑表单。票据与问题代码关联,但不使用问题代码的主键。(数据库是第三方的,所以我无法控制…)

因此,问题代码基本上如下所示:

ProblemCode
(
    ID int,
    Code varchar(8),
    Description varchar(250)
)
关联在Ticket.ProblemCode和ProblemCode.Code之间

现在的问题是ForeignKey_Edit(实际上是PopulateListControl)用主键填充下拉列表,主键是ID。。。但这张票实际上是用代码把两者联系在一起的。我错过什么了吗?有没有一种简单的方法让它改用代码作为值


如果不是,我可能会从视图中删除ID,因为我认为它不必在任何地方使用。。。我只是喜欢周围有一个ID。

在元数据中试试这个:

[DisplayColumn("Code")] 
public partial class ProblemCode{ }

您使用的是LINQtoSQL还是实体框架?DB中的外键关系是否被拉入了“DataContext”对应关系?Linq到SQL,我手动设置了外键关系,因为它基于视图。