[英]Convert int to string in linq to entities on join clause
我正在嘗試加入兩個將int類型的列與varchar類型的列進行比較的表,但是沒有任何辦法,我遇到了一些轉換錯誤...
using (Ginkgo5Entities dataContext = new Ginkgo5Entities())
{
var x = (
from node in dataContext.new_users_teams
join udata in dataContext.new_users_data
on new {
x = SqlFunctions.StringConvert((double)node.ID),
y = "team" }
equals new {
x = udata.value,
y = udata.key }
from parent in dataContext.new_users_teams
where node.lft >= parent.lft && node.lft <= parent.rgt && parent.ID == 6
select new {
team = node.team_name
// udata = udata }
).ToList();
}
這拋出
“ {{類型為'System.Data.Objects.SqlClient.SqlFunctions'的指定方法'System.String StringConvert(System.Nullable`1 [System.Double])'無法轉換為LINQ to Entities存儲表達式。”
問題:
非常感謝你!
嘗試將此查詢更改為:
var x = (from node in dataContext.new_users_teams
join udata in dataContext.new_users_data on node.ID equals udata.value.ToString() and udata.key equals "team" }
from parent in dataContext.new_users_teams
where node.lft >= parent.lft && node.lft <= parent.rgt && parent.ID == 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.