Avatar billede simsen Mester
13. juli 2012 - 11:42 Der er 1 løsning

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;
        }
       
    }
   
}
--------
Avatar billede simsen Mester
14. september 2012 - 13:16 #1
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester