linq join返回类型

use*_*099 1 c# linq

可能重复:
LINQ to SQL:返回匿名类型?

我在linq联接上对List <>使用什么返回类型?我要加入下面的多个表,但出现错误'Cannot implicitly convert type System.Collections.Generic.List<AnonymousType#1> to System.Collections.Generic.List<CargoTanksDAL.aspnet_Users>

    public List<> GetAspnetUsersWithMembershipAndCompany()
    {

        using (DevCargoEntities db = new DevCargoEntities())
        {
            var users = from u in db.aspnet_Users
                        join mem in db.aspnet_Membership on u.UserId equals mem.UserId
                        join cl in db.CT_CompanyLogIn on u.UserName equals cl.UserLogIn
                        join companies in db.CT_Companies on cl.CompanyID equals companies.CompanyID
                        select new
                        {
                            u.UserId,
                            u.UserName,
                            mem.Email,
                            mem.IsLockedOut,
                            mem.IsApproved,
                            mem.CreateDate,
                            companies.CompanyName
                        };

            return users.ToList();
        }
    }
Run Code Online (Sandbox Code Playgroud)

use*_*061 5

没有。连接在这里无关紧要,选择无关紧要,您选择了匿名类型。您不能返回匿名类型。最好创建一个新类,其中包含要返回并实例化该类型的属性。

从理论上讲,您可以返回动态或对象,但是那是您真正不想走的路。相信我。