0

用户:

userid   username               password
1        venkat reddy           sa
2        reddy                  as
3        re                     sa

地点:

id  userid             lat           lon
1     1                14.00       15.00
2     2                15.00       17.23
3     3                15.00       17.23

朋友们:

id    userid      friendid            isActive
1      1            2                   true
1      2           1                    true

我需要查询是否通过userid=1and username=re,然后我需要获取所有以开头的行re,如果该用户已经是该用户的好友,则userid给出状态消息already friend,例如他的用户名和用户 ID。如果用户现在还不是朋友,那么请提供他的详细信息,例如用户名和用户 ID。

请告诉我 ....

例如:userid =1 用户名=re

然后我需要像这样的输出

 <OutputResponse>
    <Response>
      <userid>2</userid>
      <username>reddy</username>
      <lat>15.00</lat>
      <lon>17.23</lon>
      <status>already friend</status>
    </Response>
    <Response>
      <userid>3</userid>
      <username>re</username>
      <lat>15.00</lat>
      <lon>17.23</lon>
      <status>not a friend as of now</status>
    </Response>
 </OutputResponse>
4

1 回答 1

0

你可以从这样的事情开始......

int userid=1;
string username="re";

var result=(from q in Users
                join qq in Location on q.id equals qq.userid
            where q.Username.StartsWith(username)       
             select new
            {
               userid=q.Id,
               username=q.Username,
               lat=l.lat,
               lon=l.lon,
               status=Friends.Where(z=>z.Friendid==q.Id&&z.Userid==userid).Count()>0?"already friend":"not a friend as of now"

            });
于 2012-05-11T11:41:42.950 回答