c# - ServiceStack Ormlite - Joins on child classes -
i'm using latest servicestack ormlite (v4.0.23), provides new bring together back upwards joining on multiple columns.
my entities inherit baseentity:
public class baseentity : ibaseentity { [autoincrement] [primarykey] public long id { get; set; } public datetime created { get; set; } public datetime updated { get; set; } public datetime? deleted { get; set; } public bool isdeleted { get; set; } }
say have 2 entities, userentity , answerentity, inherit base of operations class. when using joinsqlbuilder in v4.0.19 bring together these using this:
var joinbuilder = new joinsqlbuilder<answerentity, userentity>(); joinbuilder = joinbuilder.join<answerentity, userentity>( l => l.userid, r => r.id, x => new { x.id, x.answervalue, x.questionid, x.created, x.updated, x.deleted, x.isdeleted }, null, lx => lx.isdeleted == false, rx => rx.isdeleted == false);
after updating, error:
mysql.data.mysqlclient.mysqlexception : unknown column 'baseentity.isdeleted' in 'where clause' @ mysql.data.mysqlclient.mysqlstream.readpacket() @ mysql.data.mysqlclient.nativedriver.getresult(int32& affectedrow, int64& insertedid)...
using new bring together support, same error:
expression.join<answerentity, userentity>((l, r) => l.userid == r.id); expression.where<answerentity>(x => x.isdeleted == false);
should resolved in this commit that's available v4.0.23+ of servicestack that's currently available on myget. if have existing v4.0.23 packages myget installed need uninstalled first able pull downwards updated packages.
c# join ormlite-servicestack mysql.data
No comments:
Post a Comment