Есть 2 таблички, у которых общее значение Name с ключом. Таблицы Char и GMember. С таблицы Char мы достали нужные данные к каждому Name и получили список по убыванию, а вот к сожалению достать значение G_Name из таблички GMember и прикрутить его к текущему списку не получается. Прошу не бить палками, новички.
Запросили мы некий список из таблички Char
using (DataBase entity = new DataBase())
{
repeater.DataSource = entity.Char
.OrderByDescending(ob => ob.RCount)
.ThenByDescending(ob => ob.Level)
.Take(50).ToList();
repeater.DataBind();
}
.ascx
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
<tr>
<td><%# Container.ItemIndex + 1 %></td>
<td><%# Eval("Name") %></td>
<td><%# Eval("Level") %></td>
<td><%# Eval("RCount") %></td>
<td><%=Functions.GCount %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
В итоге был получен нужный нам список, кроме значения GCount. Потому как для каждого значения Name в Char - своё значение GCount. В Functions он выглядит следующим образом:
public static string GCount
{
get
{
using (DataBase entity = new DataBase())
{
var Count = entity.GMember
.Select(c => c.G_Name)
.FirstOrDefault();
return Count.ToString();
}
}
}
Вообщем получили одно и то же значение GCount для всего списка. В базе данных кстати у таблицы Char и GMember одна и та же запись Name.
GMember
namespace Data.MsSql.DataBase
{
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
[Table("GMember")]
public partial class GMember
{
[Key]
[StringLength(10)]
public string Name { get; set; }
[Required]
[StringLength(8)]
public string G_Name { get; set; }
public byte? G_Level { get; set; }
public byte G_Status { get; set; }
}
}
Char
namespace Data.MsSql.DataBase
{
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
[Table("Character")]
public partial class Char
{
[Required]
[StringLength(10)]
public string AccountID { get; set; }
[Key]
[StringLength(10)]
public string Name { get; set; }
public int? Level { get; set; }
public int RCount { get; set; }
}
}
Во всём вашем коде я не разобрался, но суть понятна. Вам просто нужно биндить не сразу объекты базы данных а сначала подготовить данные, и создать на основе данных из DB классы ViewModel уже такими какими что бы им можно было отображать в ваших контролах.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте, скажу сразу, я перерыл весь интернет в поисках ответа на вопрос и ни один из вариантов мне не помогПроблема: Пишу десктопное...
Делаю кроппинг картинкиКак удалить альфа-канал в изображении?