2013-03-14 4 views
1

Это мои таблицыEntity Framework Таблицы Первичный ключ

Сообщение enter image description here

Person

enter image description here

Это мой Gridview источник

<asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" 
        CommandName="Select" Text="Select"></asp:LinkButton> 
       <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" 
        CommandName="Delete" Text="Delete"></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="RecipientID" SortExpression="Person.LastName"> 
      <ItemTemplate> 
       <asp:Label ID="Label1" runat="server" Text='<%# Bind("Person.LastName") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="Subject" HeaderText="Subject" 
      SortExpression="Subject" /> 
     <asp:BoundField DataField="Message1" HeaderText="Message" 
      SortExpression="Message1" /> 
     <asp:BoundField DataField="Status" HeaderText="Status" 
      SortExpression="Status" /> 
     <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" /> 
     <asp:TemplateField HeaderText="SenderID" SortExpression="Person.LastName"> 
      <ItemTemplate> 
       <asp:Label ID="Label2" runat="server" Text='<%# Bind("Person.LastName") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 

Это результат enter image description here

Можете ли вы, ребята, помочь мне показать имя Отправителя? :) Спасибо, ребята, заранее! Я использую Entity Datasource

UPDATE

Я регистрации в качестве пользователя Carlo

enter image description here

Отправитель отображается пользователь, который регистрируется в не истинном отправителем в таблице сообщений

Это моя организация-модель

enter image description here

+0

Как вы отображаете имя получателя? Имя отправителя должно быть аналогичным. –

+0

wait i will upadte it, чтобы сделать более ясным –

+0

Я обновляю вопрос –

ответ

1

Вы уже получили навигационные свойства, необходимые для этого, но их имена скрывают свою роль. Вы используете Message.Person, чтобы получить имя отправителя, а также вы можете указать Message.Person1, чтобы получить имя получателя.

Я бы переименовал свойства Person и Person1 в Sender и Recipient, соответственно. Таким образом, они соответствуют примитивным именам внешнего ключа SenderID и RecipientID. Аналогичным образом, вы можете переименовать Person.Messages в MessagesSent и MessagesReceived.

В шаблоне вы можете использовать Sender.LastName и Recipient.LastName.

+0

Я постараюсь подождать –

+0

Большое вам спасибо @GertArnold! оно работает! –

0

Используйте этот запрос

select m.MessageID,m.ReceipientID,m.Subject,m.senderID,p.UserName,p.FirseName from Message m inner join Person p on m.SenderID= p.ID 
+0

где я должен поставить этот запрос? –

+0

Это запрос выбора для извлечения данных из базы данных. Как вы запрашиваете? Является ли это объектом FW с LINQ из хранимой процедуры. Если SP вы можете использовать вышеуказанный запрос –

+0

Я обновляю вопрос –

Смежные вопросы