Ответ 1
Должно быть:
var query = from r in ent.Rentals
join a in ent.Agents on r.ListingAgentID equals a.AgentID
select new Feeds
{
Agents = a,
Rentals = r
}
Я создал класс, который содержит три класса в качестве свойств:
public class Feeds
{
public Rentals Rentals { get; set; }
public Agent Agents { get; set; }
public NorthwindService.ServiceReference1.File File { get; set; }
}
и я использую его следующим образом:
var query = from r in ent.Rentals
join a in ent.Agents on r.ListingAgentID equals a.AgentID
select new Feeds
{
a.AgentID,
a.Alias,
a.Bio,
a.Email,
a.Fax,
r.Firstname,
r.IsStaff,
r.Languages
}
но я получаю ошибку:
Невозможно инициализировать тип "NorthwindService.WebForm1.Feeds" с инициализатором коллекции, поскольку он не реализует "System.Collections.IEnumerable" C:\Users\NorthwindService\NorthwindService\WebForm1.aspx.cs
Пожалуйста, предложите решение
Должно быть:
var query = from r in ent.Rentals
join a in ent.Agents on r.ListingAgentID equals a.AgentID
select new Feeds
{
Agents = a,
Rentals = r
}
Вы используете здесь инициализатор коллекции в С#:
new myClass{a,b,c}
где myClass - это коллекция, а a, b, c будут вставлены в эту коллекцию.
Но необходимо использовать обозначение инициализатора объекта:
new myClass{
myProperty1 = a,
myProperty2 = b,
myProperty3 = c
}
где член myClass будет инициализирован. Или, может быть, вам нужно использовать классический конструктор, а затем изменить скобку с круглыми скобками:
new myClass(a,b,c)