【问题标题】:Entity framework using vb.net,stored proc and involve multiple tables使用 vb.net 的实体框架,存储过程并涉及多个表
【发布时间】:2013-05-12 02:30:15
【问题描述】:
我有一个包含名字、姓氏、电话号码等详细信息的人员表。
phoneid 是 Phonetable 中的一个标识列。
我需要添加/更新人员信息。
首先,它应该检查输入的电话号码是否已经存在于 PhoneNumber 表中。如果是这样,请从此表中获取 PhoneID 并将其保存到 Persons 表的 PhoneID 列。
如果电话号码不存在,则将电话号码插入 PhoneNumber 表并返回 phoneID 并更新 Persons 表。
我需要使用 Entity Framework 和 VB.NET 来执行此操作。
请帮忙!
【问题讨论】:
标签:
vb.net
stored-procedures
join
frameworks
entity
【解决方案1】:
如果电话号码上没有重复项,为什么还需要一个关系表呢?如果他们这样做,那很好。关系表的目的是不重复数据 - 在这种情况下,我可能会使用“我不在乎”卡片来代替简单性。
这会得到一个IEnumerable(Of PhoneNumber),它应该只产生一个结果。
Private Function CheckPhoneNumber(phNumber As String) As Integer
Dim query = PhoneNumbers.Where(Function(o) o.Number = phNumber)
'if query is empty it does not exist
If query IsNot Nothing Then
Return query.FirstOrDefault.PhoneId
Else
'make new record in this table
End If
End Function