使用SimpleRepository的Single方法的“Lambda参数不在范围内”异常

时间:2009-07-27 03:42:13

标签: subsonic subsonic3

我正在尝试使用SimpleRepository基于非ID属性执行提取。这是我正在使用的Customer类:

    [Serializable]
    public class Customer : IEntity<Guid>
    {
        public Guid ProviderUserKey { get; set; }

        public Guid ID
        {
            get; set;
        }
    }

我正在使用SimpleRepository并启用了迁移功能。抛出“Lambda参数不在范围内”的代码如下:

    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;
        }
    }

我不确定在抛出的LINQ表达式编译中的哪一点,但是我在一个空数据库上运行这个例子。模式生成足以创建表结构,但无法计算表达式。

有谁知道我可能做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

我已经有了这方面的报告 - 你可以将这个(以及你的代码)作为一个问题添加吗?