2013-03-06 81 views
0

我试图在我的应用程序(通过edmx模型的Oracle数据库)中运行以下查询。在DB中,TABKE1和TABLE2中的两个字段(我试图加入)都是类似的[BENUTZERNR VARCHAR2(15 BYTE)NOT NULL],并且在edmx fie中它们都被声明为字符串。Linq Join - 参数类型不匹配

但是,我总是得到一个“参数类型不匹配”的错误。 (我使用的是相同的其它连接的查询,其中不同之处在于加入了数据类型是小数?)

Dim dataObject = (From a In db.TABLE1 
     Join p In db.TABLE2 On a.BENUTZERNR Equals p.BENUTZERNR 
     Select New TableOneViewModel With { 
      .ID= a.ID, 
      ... 
      .BIBLBENUTZER = New TableTwoViewModel With { 
        .BENUTZERNR= p.BENUTZERNR, 
        ... 
       } 
     }) 
+0

您加入的字段具有相同的空状态?我的意思是两个都不是null/null? – Ankit 2013-03-06 10:43:08

+0

对于两个字段,可以设置Nullable Flag为False。 – stare 2013-03-06 17:20:18

+0

表1和表2中BENUTZERNR的数据类型是什么? – 2013-03-07 19:12:54

回答

0

发现,就是是一个错字,并说我漏掉了我的ViewModel属性中的一个数据类型声明!

Dim dataObject = (From a In db.TABLE1 
    Join p In db.TABLE2 On a.BENUTZERNR Equals p.BENUTZERNR 
    Select New TableOneViewModel With { 
     .ID= a.ID, 
     ... 
     .BIBLBENUTZER = New TableTwoViewModel With { 
       .BENUTZERNR= p.BENUTZERNR, 
       .SOMEVALUE= {MISSED THE "p" HERE}.SOMEVALUE, 
       ... 
      } 
    })