J'essaie d'utiliser SimpleRepository pour effectuer une extraction basée sur une propriété non-ID. Voici la classe Customer que j'utilise:Exception "Lambda Parameter not in scope" à l'aide de la méthode Single de SimpleRepository
[Serializable]
public class Customer : IEntity<Guid>
{
public Guid ProviderUserKey { get; set; }
public Guid ID
{
get; set;
}
}
J'utilise SimpleRepository avec les migrations activées. Le code qui lance le « Lambda paramètre non portée » est ci-dessous:
public class CustomerRepository :
ICustomerRepository
{
private readonly IRepository _impl;
public CustomerRepository(string connectionStringName)
{
_impl = new SimpleRepository(connectionStringName,
SimpleRepositoryOptions.RunMigrations);
}
public Customer GetCustomer(string userName)
{
var user = Membership.GetUser(userName);
// Code to guard against a missing user would go here
// This line throws the exception
var customer = _impl.Single<Customer>(c => c.ProviderUserKey.Equals(user.ProviderUserKey));
// Code to create a new customer based on the
// ASP.NET Membership user would go here
return customer;
}
}
Je ne sais pas à quel moment de la compilation d'expression LINQ cela jette, mais je me présente cet exemple sur une base de données vide. Les générations de schémas sont suffisamment éloignées pour créer la structure de la table, mais ne peuvent pas évaluer l'expression.
Est-ce que quelqu'un sait ce que je peux faire mal?
Merci!
Bonjour, j'obtiens cette erreur aussi, mais j'utilise la méthode Find. – ryudice
Salut Rob J'utilise SubSonic 3.0.4 et j'essaie de faire ceci: 'x => x.FirstName.ToUpper(). StartsWith (name)' lance une exception lors de la construction de 'Constraint' car constraintfragment est null. fonctionne sans 'ToUpper' – TheVillageIdiot