Aşağıda bazı C# kodlarının aşağıya doğru bir örneği var. Bazı linq birleşimlerini yaparken derleyemiyorum. Bunun neden derlenmediğini bilen var mı?Katılımcılar ile derlemek için C# linq sorgusu alınamıyor
Tipi argümanlar sorgudan çıkarsanamayacağına
hata olduğunu
Bu katılmak
using System.Collections.Generic;
using System.Linq;
namespace LinqJoin
{
public class DataRepository<T>
{
public IList<T> Fetch()
{
return new List<T>();
}
}
internal class SSOUser
{
public int Id { get; set; }
}
internal class UserRole
{
public int SSOUserId { get; set; }
public int RoleId { get; set; }
}
internal class Role
{
public int RoleId { get; set; }
}
class Program
{
static void Main(string[] args)
{
var users = new DataRepository<SSOUser>().Fetch();
var userroles = new DataRepository<UserRole>().Fetch();
var roles = new DataRepository<Role>().Fetch();
var result = from u in users
join ur in userroles on u.Id equals ur.SSOUserId
join r in roles on r.RoleId equals ur.RoleId
select u;
//var x1 = users.Join(userroles, u => u.Id, ur => ur.SSOUserId, (u, ur) => new { User = u, UserRole = ur}).Join(roles, x => x.UserRole.RoleId, r => r.RoleId, res => res.User);
}
}
}
Hızlı cevap için çok teşekkürler. Bunun için ne kadar zaman harcadığımı bilmiyorsun. Derleyici biraz daha faydalı olsa da güzel olurdu, ancak "size sunduğunuz aralık değişkeni her zaman eşitliğin sağ tarafında olmalı" ile ilgili ipucunuz, şimdi belleğe bağlı olacağım. –