編譯得很好,但執行失敗,並且標題中出現錯誤。不允許在查詢中顯式構造實體類型「藝術家」
ArtistService.cs
public class ArtistService : IArtistService
{
public List<Artist> ArtistDetail()
{
using (ArtistDataContext db = new ArtistDataContext())
{
return (from artist in db.Artists
select new Artist()
{
Id = artist.Id,
Artist_name = Artist.Artist_name
}).ToList(); <=== error happened here
}
}
}
代碼背後
private List<ArtistServiceReference.Artist> ArtistDetail()
{
ArtistServiceReference.ArtistServiceClient client = new
ArtistServiceReference.ArtistServiceClient();
ArtistServiceReference.Artist[] artists = client.ArtistDetail();
return artists.ToList();
我想藝術家表移動到一個下拉列表。
錯誤發生在ArtistService.cs的end {).ToList(); 關於如何解決這個問題的任何解釋?謝謝
我基於這個例子的代碼,這個例子工作正常。
示例代碼MyService.cs
public class MyService : IMyService
{
public List<Task> GetTasks()
{
using (TasksDataContext db = new TasksDataContext())
{
return (from task in db.TasksLists
select new Task()
{
Id = task.taskId,
Name = task.taskName,
}).ToList();
}
}
}
例default.aspx.cs
private List<TaskService.Task> GetTasks()
{
TaskService.MyServiceClient client = new TaskService.MyServiceClient();
TaskService.Task[] tasks = client.GetTasks();
return tasks.ToList();
}
我不明白爲什麼這個例子將工作與我無關。唯一的區別是這個例子返回到一個gridview,我想返回到一個下拉列表。
錯誤似乎很清楚。你不能創建一個新的'Artist'作爲linq查詢的一部分。你不能只選擇藝術家嗎? –
爲什麼另一個例子工作呢? – user3127986
'db.Artists'的類型是什麼? –