Brug for hjælp til NHibernate
Hej,Jeg bruger VisualParadigm(VP) til at generere NHibernate. Alt virker undtagen når jeg skal have fat i aspnet generet tabeller, hvor der er en GUID,
Følgende fejl opstår, når jeg forsøger at bruge det:
{"Provided id of the wrong type. Expected: System.Guid, got System.String"}
Jeg henter tabellerne (altså VP) i følgende metode:
public DataTable Crm_GetUser(string UserId)
{
Guid guid = new Guid(UserId);
DatabaseGeneric.EntityClasses.AnsiCrm_UserProfile userprofile = DatabaseGeneric.EntityClasses.AnsiCrm_UserProfileDAO.LoadAnsiCrm_UserProfileByORMID(UserId);
DatabaseGeneric.EntityClasses.Aspnet_UsersCriteria usersCriteria = new DatabaseGeneric.EntityClasses.Aspnet_UsersCriteria();
usersCriteria.UserId.Equals(guid);
//DatabaseGeneric.EntityClasses.Aspnet_MembershipCriteria memberCriteria = usersCriteria.CreateAspnet_MembershipCriteria();
DatabaseGeneric.EntityClasses.Aspnet_Users[] users = usersCriteria.ListAspnet_Users();
if (userprofile != null)
{
UserId = userprofile.ORMID;
UserName = Convert.ToString(usersCriteria.UserName);
if (!Convert.IsDBNull(usersCriteria.LastActivityDate))
{
LastActivityDate = Convert.ToDateTime(usersCriteria.LastActivityDate);
}
//DataTable getData = HelpersStatics.ToDataTable(users);
return null;
}
else
{
return null;
}
}
Jeg håber en af jer, kan hjælpe mig med at finde ud af, hvordan jeg enten fjerner GUID (som i mine øjne er noget skidt) eller hvordan jeg får ændret de forskellige string til en GUID.
Mvh
simnsen :-)
VP har genereret følgende filer: (og jeg er sikker på det er her det går galt - for nogle tager den som string andre som GUID)
Aspnet_UsersDAO.cs
namespace DatabaseGeneric.EntityClasses {
/// <summary>
/// ORM-Persistable Class
/// </summary>
public class Aspnet_UsersDAO {
private static readonly log4net.ILog _logger = log4net.LogManager.GetLogger(typeof(Aspnet_UsersDAO));
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users LoadAspnet_UsersByORMID(string userId) {
PersistentSession session = global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().GetSession();
return LoadAspnet_UsersByORMID(session,userId);
}
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users LoadAspnet_UsersByORMID(PersistentSession session,string userId) {
return (global::DatabaseGeneric.EntityClasses.Aspnet_Users) session.Load(typeof(global::DatabaseGeneric.EntityClasses.Aspnet_Users), (String)userId);
}
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users[] ListAspnet_UsersByQuery(string condition, string orderBy) {
PersistentSession session = global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().GetSession();
return ListAspnet_UsersByQuery(session, condition, orderBy);
}
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users[] ListAspnet_UsersByQuery(PersistentSession session, string condition, string orderBy) {
global::System.Text.StringBuilder sb = new global::System.Text.StringBuilder("From DatabaseGeneric.EntityClasses.Aspnet_Users as Aspnet_Users");
if (condition != null) {
sb.Append(" Where ");
sb.Append(condition);
}
if (orderBy != null) {
sb.Append(" Order By ");
sb.Append(orderBy);
}
IQuery query = session.CreateQuery(sb.ToString());
try {
IList list = query.List();
global::DatabaseGeneric.EntityClasses.Aspnet_Users[] result = new global::DatabaseGeneric.EntityClasses.Aspnet_Users[list.Count];
list.CopyTo(result, 0);
return result;
}
catch (Exception e) {
_logger.Error("ListAspnet_UsersByQuery(PersistentSession session, string condition, string orderBy)", e);
throw new PersistentException(e);
}
}
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users LoadAspnet_UsersByQuery(string condition, string orderBy) {
PersistentSession session = global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().GetSession();
return LoadAspnet_UsersByQuery(session, condition, orderBy);
}
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users LoadAspnet_UsersByQuery(PersistentSession session, string condition, string orderBy) {
global::DatabaseGeneric.EntityClasses.Aspnet_Users[] aspnet_Userses = ListAspnet_UsersByQuery(session, condition, orderBy);
if (aspnet_Userses != null && aspnet_Userses.Length > 0)
return aspnet_Userses[0];
else
return null;
}
public static global::System.Collections.IEnumerable IterateAspnet_UsersByQuery(string condition, string orderBy) {
PersistentSession session = global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().GetSession();
return IterateAspnet_UsersByQuery(session, condition, orderBy);
}
public static global::System.Collections.IEnumerable IterateAspnet_UsersByQuery(PersistentSession session, string condition, string orderBy) {
global::System.Text.StringBuilder sb = new global::System.Text.StringBuilder("From DatabaseGeneric.EntityClasses.Aspnet_Users as Aspnet_Users");
if (condition != null) {
sb.Append(" Where ");
sb.Append(condition);
}
if (orderBy != null) {
sb.Append(" Order By ");
sb.Append(orderBy);
}
IQuery query = session.CreateQuery(sb.ToString());
try {
return query.Enumerable();
}
catch (Exception e) {
_logger.Error("IterateAspnet_UsersByQuery(PersistentSession session, string condition, string orderBy)", e);
throw new PersistentException(e);
}
}
public static global::DatabaseGeneric.EntityClasses.Aspnet_Users CreateAspnet_Users() {
return new global::DatabaseGeneric.EntityClasses.Aspnet_Users();
}
public static bool Save(global::DatabaseGeneric.EntityClasses.Aspnet_Users aspnet_Users) {
try {
global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().SaveObject(aspnet_Users);
return true;
}
catch (Exception e) {
_logger.Error("Save(Aspnet_Users aspnet_Users)", e);
throw new PersistentException(e);
}
}
public static bool Delete(global::DatabaseGeneric.EntityClasses.Aspnet_Users aspnet_Users) {
try {
global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().DeleteObject(aspnet_Users);
return true;
}
catch (Exception e) {
_logger.Error("Delete(Aspnet_Users aspnet_Users)", e);
throw new PersistentException(e);
}
}
public static bool DeleteAndDissociate(global::DatabaseGeneric.EntityClasses.Aspnet_Users aspnet_Users) {
try {
if(aspnet_Users.Application != null) {
aspnet_Users.Application.Aspnet_Users.Remove(aspnet_Users);
}
global::DatabaseGeneric.EntityClasses.Aspnet_Roles[] lRoles = new global::DatabaseGeneric.EntityClasses.Aspnet_Roles[aspnet_Users.Role.Count];
aspnet_Users.Role.CopyTo(lRoles, 0);
foreach(global::DatabaseGeneric.EntityClasses.Aspnet_Roles lRole in lRoles) {
lRole.User.Remove(aspnet_Users);
}
if(aspnet_Users.Aspnet_Membership != null) {
aspnet_Users.Aspnet_Membership.User = null;
}
global::DatabaseGeneric.EntityClasses.Aspnet_PersonalizationPerUser[] lAspnet_PersonalizationPerUsers = new global::DatabaseGeneric.EntityClasses.Aspnet_PersonalizationPerUser[aspnet_Users.Aspnet_PersonalizationPerUser.Count];
aspnet_Users.Aspnet_PersonalizationPerUser.CopyTo(lAspnet_PersonalizationPerUsers, 0);
foreach(global::DatabaseGeneric.EntityClasses.Aspnet_PersonalizationPerUser lAspnet_PersonalizationPerUser in lAspnet_PersonalizationPerUsers) {
lAspnet_PersonalizationPerUser.User = null;
}
if(aspnet_Users.Aspnet_Profile != null) {
aspnet_Users.Aspnet_Profile.User = null;
}
return Delete(aspnet_Users);
}
catch (Exception e) {
_logger.Error("DeleteAndDissociate()", e);
throw new PersistentException(e);
}
}
public static bool DeleteAndDissociate(global::DatabaseGeneric.EntityClasses.Aspnet_Users aspnet_Users, global::Orm.PersistentSession session) {
try {
if(aspnet_Users.Application != null) {
aspnet_Users.Application.Aspnet_Users.Remove(aspnet_Users);
}
global::DatabaseGeneric.EntityClasses.Aspnet_Roles[] lRoles = new global::DatabaseGeneric.EntityClasses.Aspnet_Roles[aspnet_Users.Role.Count];
aspnet_Users.Role.CopyTo(lRoles, 0);
foreach(global::DatabaseGeneric.EntityClasses.Aspnet_Roles lRole in lRoles) {
lRole.User.Remove(aspnet_Users);
}
if(aspnet_Users.Aspnet_Membership != null) {
aspnet_Users.Aspnet_Membership.User = null;
}
global::DatabaseGeneric.EntityClasses.Aspnet_PersonalizationPerUser[] lAspnet_PersonalizationPerUsers = new global::DatabaseGeneric.EntityClasses.Aspnet_PersonalizationPerUser[aspnet_Users.Aspnet_PersonalizationPerUser.Count];
aspnet_Users.Aspnet_PersonalizationPerUser.CopyTo(lAspnet_PersonalizationPerUsers, 0);
foreach(global::DatabaseGeneric.EntityClasses.Aspnet_PersonalizationPerUser lAspnet_PersonalizationPerUser in lAspnet_PersonalizationPerUsers) {
lAspnet_PersonalizationPerUser.User = null;
}
if(aspnet_Users.Aspnet_Profile != null) {
aspnet_Users.Aspnet_Profile.User = null;
}
try {
session.Delete(aspnet_Users);
return true;
}
catch (Exception) {
return false;
}
}
catch (Exception e) {
_logger.Error("DeleteAndDissociate()", e);
throw new PersistentException(e);
}
}
public static bool Refresh(global::DatabaseGeneric.EntityClasses.Aspnet_Users aspnet_Users) {
try {
global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().GetSession().Refresh(aspnet_Users);
return true;
}
catch (Exception e) {
_logger.Error("Refresh(Aspnet_Users aspnet_Users)", e);
throw new PersistentException(e);
}
}
public static Aspnet_Users LoadAspnet_UsersByCriteria(Aspnet_UsersCriteria aspnet_UsersCriteria) {
Aspnet_Users[] aspnet_Userses = ListAspnet_UsersByCriteria(aspnet_UsersCriteria);
if(aspnet_Userses == null || aspnet_Userses.Length == 0) {
return null;
}
return aspnet_Userses[0];
}
public static Aspnet_Users[] ListAspnet_UsersByCriteria(Aspnet_UsersCriteria aspnet_UsersCriteria) {
return aspnet_UsersCriteria.ListAspnet_Users();
}
}
}
----------------------------------
Aspnet_Users.cs
namespace DatabaseGeneric.EntityClasses {
/// <summary>
/// ORM-Persistable Class
/// </summary>
[Serializable]
public class Aspnet_Users {
private global::DatabaseGeneric.EntityClasses.Aspnet_Applications __application;
private Guid __userId;
private string __userName;
private string __loweredUserName;
private string __mobileAlias = "(NULL)";
private bool __isAnonymous;
private DateTime __lastActivityDate;
private Iesi.Collections.ISet __role = new Iesi.Collections.HashedSet();
private global::DatabaseGeneric.EntityClasses.Aspnet_Membership __aspnet_Membership;
private Iesi.Collections.ISet __aspnet_PersonalizationPerUser = new Iesi.Collections.HashedSet();
private global::DatabaseGeneric.EntityClasses.Aspnet_Profile __aspnet_Profile;
private Guid UserId
{
set {
this.__userId = value;
}
get {
return __userId;
}
}
public Guid ORMID
{
get {
return UserId;
}
}
public string UserName {
set {
this.__userName = value;
}
get {
return __userName;
}
}
public string LoweredUserName {
set {
this.__loweredUserName = value;
}
get {
return __loweredUserName;
}
}
public string MobileAlias {
set {
this.__mobileAlias = value;
}
get {
return __mobileAlias;
}
}
public bool IsAnonymous {
set {
this.__isAnonymous = value;
}
get {
return __isAnonymous;
}
}
public DateTime LastActivityDate {
set {
this.__lastActivityDate = value;
}
get {
return __lastActivityDate;
}
}
public global::DatabaseGeneric.EntityClasses.Aspnet_Applications Application {
set {
this.__application = value;
}
get {
return __application;
}
}
private global::DatabaseGeneric.EntityClasses.Aspnet_Applications ORM_Application {
get {
return __application;
}
}
public Iesi.Collections.ISet Role {
get {
return __role;
}
set {
__role = value;
}
}
public global::DatabaseGeneric.EntityClasses.Aspnet_Membership Aspnet_Membership {
set {
this.__aspnet_Membership = value;
}
get {
return __aspnet_Membership;
}
}
public Iesi.Collections.ISet Aspnet_PersonalizationPerUser {
get {
return __aspnet_PersonalizationPerUser;
}
set {
__aspnet_PersonalizationPerUser = value;
}
}
public global::DatabaseGeneric.EntityClasses.Aspnet_Profile Aspnet_Profile {
set {
this.__aspnet_Profile = value;
}
get {
return __aspnet_Profile;
}
}
public override string ToString() {
return ToString(false);
}
public virtual string ToString(bool idOnly) {
if (idOnly) {
return Convert.ToString(UserId);
}
else {
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("Aspnet_Users[ ");
if (Application != null)
sb.AppendFormat("Application.Persist_ID={0} ", Application.ToString(true) + "");
else
sb.Append("Application=null ");
sb.AppendFormat("UserId={0} ", UserId);
sb.AppendFormat("UserName={0} ", UserName);
sb.AppendFormat("LoweredUserName={0} ", LoweredUserName);
sb.AppendFormat("MobileAlias={0} ", MobileAlias);
sb.AppendFormat("IsAnonymous={0} ", IsAnonymous);
sb.AppendFormat("LastActivityDate={0} ", LastActivityDate);
sb.AppendFormat("role.count={0} ", __role.Count);
if (Aspnet_Membership != null)
sb.AppendFormat("Aspnet_Membership.Persist_ID={0} ", Aspnet_Membership.ToString(true) + "");
else
sb.Append("Aspnet_Membership=null ");
sb.AppendFormat("aspnet_PersonalizationPerUser.count={0} ", __aspnet_PersonalizationPerUser.Count);
if (Aspnet_Profile != null)
sb.AppendFormat("Aspnet_Profile.Persist_ID={0} ", Aspnet_Profile.ToString(true) + "");
else
sb.Append("Aspnet_Profile=null ");
sb.Append("]");
return sb.ToString();
}
}
}
}
------------------------
Aspnet_UsersCriteria.cs
namespace DatabaseGeneric.EntityClasses {
public class Aspnet_UsersCriteria : AbstractORMCriteria {
private StringExpression _userId;
public StringExpression UserId {
get {
return _userId;
}
}
private StringExpression _userName;
public StringExpression UserName {
get {
return _userName;
}
}
private StringExpression _loweredUserName;
public StringExpression LoweredUserName {
get {
return _loweredUserName;
}
}
private StringExpression _mobileAlias;
public StringExpression MobileAlias {
get {
return _mobileAlias;
}
}
private BooleanExpression _isAnonymous;
public BooleanExpression IsAnonymous {
get {
return _isAnonymous;
}
}
private DateTimeExpression _lastActivityDate;
public DateTimeExpression LastActivityDate {
get {
return _lastActivityDate;
}
}
public Aspnet_UsersCriteria(ICriteria criteria) : base(criteria) {
_userId = new StringExpression("UserId", this);
_userName = new StringExpression("UserName", this);
_loweredUserName = new StringExpression("LoweredUserName", this);
_mobileAlias = new StringExpression("MobileAlias", this);
_isAnonymous = new BooleanExpression("IsAnonymous", this);
_lastActivityDate = new DateTimeExpression("LastActivityDate", this);
}
public Aspnet_UsersCriteria(PersistentSession session) : this(session.CreateCriteria(typeof(Aspnet_Users))) {
}
public Aspnet_UsersCriteria() : this(global::DatabaseGeneric.EntityClasses.DALHibernatePersistentManager.Instance().GetSession()) {
}
public Aspnet_ApplicationsCriteria CreateApplicationCriteria() {
return new Aspnet_ApplicationsCriteria(CreateCriteria("Application"));
}
public Aspnet_RolesCriteria CreateRoleCriteria() {
return new Aspnet_RolesCriteria(CreateCriteria("Role"));
}
public Aspnet_MembershipCriteria CreateAspnet_MembershipCriteria() {
return new Aspnet_MembershipCriteria(CreateCriteria("Aspnet_Membership"));
}
public Aspnet_PersonalizationPerUserCriteria CreateAspnet_PersonalizationPerUserCriteria() {
return new Aspnet_PersonalizationPerUserCriteria(CreateCriteria("Aspnet_PersonalizationPerUser"));
}
public Aspnet_ProfileCriteria CreateAspnet_ProfileCriteria() {
return new Aspnet_ProfileCriteria(CreateCriteria("Aspnet_Profile"));
}
public Aspnet_Users UniqueAspnet_Users() {
return (Aspnet_Users)base.UniqueResult();
}
public Aspnet_Users[] ListAspnet_Users() {
IList lList = base.List();
Aspnet_Users[] lValues = new Aspnet_Users[lList.Count];
lList.CopyTo(lValues, 0);
return lValues;
}
}
}
--------