Hello,
I've recently started testing Castle ActiveRecord but I've found a
problem that I don't know how to solve. I'd like to use the following
query (one that I've used in the same project but using Entity
Framework):
var persons = from p in ActiveRecordLinq.AsQueryable<Person>()
where p.Contracts.Count(c => c.ToDate <= DateTime.Now) >
0
select p;
My Person class looks like the following:
[ActiveRecord(Table = "Person", Schema = "dbo")]
public class Person : ActiveRecordBase<Person>
{
private IList contracts = new ArrayList();
[PrimaryKey(Generator = PrimaryKeyType.Native)]
public virtual int ID { get; set; }
/* some basic properties here */
[HasMany(typeof(Contract), Table = "Contract", ColumnKey =
"personid", Inverse = true, Lazy = true, RelationType =
RelationType.Set)]
public virtual IList Contracts
{
get { return contracts; }
set { contracts = value; }
}
}
and my Contract class:
[ActiveRecord(Table="Contract", Schema="dbo")]
public class Contract : ActiveRecordBase<Contract>
{
[PrimaryKey(Generator = PrimaryKeyType.Native)]
public virtual int ID { get; set; }
/* more non-related properties here */
[BelongsTo("personid", NotNull = true)]
public virtual Person Person { get; set; }
[Property(Column = "FromDat", NotNull = true)]
public virtual DateTime FromDate { get; set; }
[Property(Column = "ToDat")]
public virtual DateTime? ToDate { get; set; }
}
When trying to build this the compiler will tell me:
'System.Collections.IList' does not contain a definition for 'Count'
and no extension method 'Count' accepting a first argument of type
'System.Collections.IList' could be found (are you missing a using
directive or an assembly reference?).
I guess that's because IList doesn't support the Count method with a
predicate. I guess what I need is a collection of IQueryable<T> in the
Person class but I can't get that to work. Any tips or hints?
--
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.