我有两个SQL Server表 - PhoneNumbers
和PhoneLineTypes
。 PhoneNumbers
有一个引用PhoneLineTypeID
的外键PhoneLineTypes.ID
。
Visual Studio为这两个表创建了类,但PhoneNumber
类只有int
的{{1}}字段,而不是PhoneLineTypeID
类型的字段。
我的问题是我想要来自PhoneLineType
的电话线类型的字符串描述,但我只有来自PhoneLineTypes
的int PhoneLineTypeID
(而不是{{ 1}}我想要PhoneNumbers
)。我最终想要将WPF ComboBox绑定到该值,但由于它不存在于类中,我不知道要绑定到什么。
答案 0 :(得分:0)
您应该创建转换器,将PhoneLineTypeID转换为PhoneLineTypes所需的任何内容。如果您需要帮助,网上有一些关于如何使用转换器的教程。
答案 1 :(得分:0)
我正在这里用黑暗刺穿它(看到你的查询或代码之类的东西会很好),但是你需要在查询中加入PhoneNumbers和PhoneLineTypes表。使用Linq(我认为你说你正在使用它),你会看到像
这样的东西var query = from number in PhoneNumbers
join phoneType in PhoneLineTypes
on numbers.PhoneLineTypeID equals phoneType.ID
select new{
ID = number.PhoneLineTypeID,
Name = phoneType.Description
}
phoneComboBox.ItemsSource = query.ToList();
phoneComboBox.DisplayMemberPath = "Name";
phoneComboBox.SelectedValuePath = "ID"
就像我说的那样,如果没有填补一些空白,很难提供更多帮助,但希望这会让你走上正轨
答案 2 :(得分:0)
使用您的外键,您应该可以执行以下操作
var query = from number in PhoneNumbers
select number.PhoneLineTypes.PhoneLineType