問題
使用 LINQ to Entities 時,出現了如下的錯誤。
Only parameterless constructors and initializers are supported in LINQ to Entities
原因
原來,我使用了 ReSharper 的 Convert Anonymous Type to Named Type 的功能,它會建立一個新的 Type,並沒有預設建構子。程式寫起來如下
from u in _entities.UserInfoes select new UserViewModel(u.Displayname, u.UserId, u.Email
而 Entity Framework 竟然不支援這樣的寫法?真怪。
解法
解法呢?就把UserViewModel改成有預設建構子。呼叫方式如下
from u in _entities.UserInfoes select new UserViewModel { Displayname = u.Displayname, UserId = u.UserId, Email = u.Email }
沒有留言:
張貼留言