powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate помогите разобратся с ошибкой
25 сообщений из 27, страница 1 из 2
NHibernate помогите разобратся с ошибкой
    #35979398
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не могу понять в чем проблема без связей в маппинге все работает а как создал one-to-many перестало ругается на openSession вот примера маппинга двух таблиц
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Domain">
	<class name="Domain.users, Domain"  table="users">

		<id name="UserN" column="iduser" type="string">
			<generator class="identity"/>
		</id>

		<property name="NameUser" column="name" type="String"/>
		<property name="Password" column="pass" type="String"/>
		<bag name="certificate" inverse="false" cascade="save-update" 
		table="certificate" order-by="NameUser">
			<key column="iduser"></key>
			<one-to-many class="Domain.certificate"></one-to-many>
		</bag>
	
	</class>
</hibernate-mapping>


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Domain">
	<class name="Domain.certificate, Domain"  table="certificate">

		<id name="IDcertts" column="idcerts" type="int">
			<generator class="identity"/>
		</id>
		<property name="UserN" column="iduser" type="String"/>
		<property name="Certz" column="certz" type="String"/>
		<property name="Certo" column="certo" type="String"/>
		<property name="Certk" column="certk" type="String"/>
		<many-to-one name="users" column="iduser" class="Domain.users"/>
	</class>
</hibernate-mapping>

подскажите где хотя бы искать ошибку ?????
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35979736
Sergej
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergio_c116...подскажите где хотя бы искать ошибку ?????...

подскажите хотя бы что за ошибка...
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35979744
Sergej
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может тута чтонить не то:
Код: plaintext
...order-by="NameUser"...
Код: plaintext
1.
<property name="UserN" column="iduser" type="String"/>
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980018
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст ошибки приведите

Модератор: Тема перенесена из форума "C#.NET".
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980308
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
  private void Form1_Load(object sender, EventArgs e)
        {
            ISession session = NhibernateSessionFactory.openSession();   // тута ругается :(
            IQuery q = session.CreateQuery("from  certificate,certificate");
            dataGridView1.DataSource = c.List();
           
        }
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980324
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
  private void Form1_Load(object sender, EventArgs e)
        {
            ISession session = NhibernateSessionFactory.openSession();   // тута ругается :(
            IQuery q = session.CreateQuery("from  users, certificate"); //переправил ....
            dataGridView1.DataSource = c.List();
           
        }
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980341
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот и классы может тут что не так ....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
namespace Domain
{
    public class certificate
   
    {
        private int _idcerts;
        private string _certz;
        private string _certo;
        private string _certk;
      

       public virtual int IDcertts
        {
            get { return _idcerts; }
            set { _idcerts = value; }
        }
        public virtual string Certz
        {
            get { return _certz; }
            set { _certz = value; }
        }

        public virtual string Certo
        {
            get { return _certo; }
            set { _certo = value; }
        }

        public virtual string Certk
        {
            get { return _certk; }
            set { _certk = value; }
        }


    }
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
namespace Domain
{
    public class users
    {
        private String _id;
        private String _name;
        private String _pass;

        public users()
        {
            _id = String.Empty;
            _name = String.Empty;
            _pass = String.Empty;
        }
        public users(String user, String login, String password)  
        {
            _id = user;
            _name = login;
            _pass = password;
        }

       public virtual string UserN
        {
            get { return _id; }
            set { _id = value; }
        }
        public virtual string NameUser
        {
            get { return _name; }
            set { _name = value; }
        }

        public virtual string Password
        {
            get { return _pass; }
            set { _pass = value; }
        }


    }
}
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980388
Sergej
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergio_c116тута ругается :(это текст ошибки?

так а где у вас вот это:
Код: plaintext
1.
2.
3.
4.
<bag name="certificate" inverse="false" cascade="save-update" 
		table="certificate" order-by="NameUser">
			<key column="iduser"></key>
			<one-to-many class="Domain.certificate"></one-to-many>
		</bag>
в классе описано?
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980429
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в классе users.cs не знаю если правильно делал ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private IList _certificate;
public IList Certificate
        {
            get 
            {
                if (_certificate == null)
                {
                    _certificate = new ArrayList();
                }
                return _certificate;
            }
            set { _certificate = value; }
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980442
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я только осваиваю Nhibernate проще будет начать заново подскажите как правильней будет создать классы и связи one-to-many на данном примере ... буду очень благодарен за помощь
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35980884
SergASh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergio_c116я только осваиваю Nhibernate проще будет начать заново подскажите как правильней будет создать классы и связи one-to-many на данном примере ... буду очень благодарен за помощь
Чтобы эта помощь последовала, старайтесь слушать то, что вам говорят. Дважды попросили привести текст ошибки. Это что, так сложно? Вот поставьте себя на место отвечающго. Ему вопрос не до конца понятен и он просит подробностей. Просит раз, просит два. А от вас никакой внятной реакции. Думаете, отвечающему это не надоест? Мне бы на второй раз надоело.

Теперь по делу. Если в маппине ошибка, то при конфигурировании и создании сеанса будет исключение. Особенность в том, что оно обычно не одно, а содержит вложенное (InnerException). Зачастую даже несколько вложенных. Наиболее вложенное исключение как правило содержит самую полезную информацию. Поэтому вам нужно сделать что-то вроде такого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
var builder = new StringBuilder();
try
{
  ISession session = NhibernateSessionFactory.openSession(); 
}
catch ( Exception ex )
{
  while ( null != ex )
  {
    builder.AppendFormat( "- {0}\r\n", ex.Message );    
    ex = ex.InnerException;
  }
}
if ( 0 != builder.Length )
{
  MessageBox.Show( builder.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35981246
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такой ответ тебя устроит .....
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35981279
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам ведь даже код написал тов SergASh ... не устроит...
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35981905
KirillMedvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Configuration.Configure() вызываете? И потом:

В маппинге есть

Код: plaintext
1.
<class name="Domain.certificate, Domain"  table="certificate">
    <many-to-one name="users"

А в классе Domain.certificate не определено поле
Код: plaintext
1.
public virtual Domain.users users {get; set;}
В Вашем коде было так:
Код: plaintext
1.
2.
3.
4.
5.
6.
public class certificate
{
      public virtual int IDcertts
      public virtual string Certz
      public virtual string Certo
      public virtual string Certk
}

А в классе users коллекцию нужно сделать virtual:
Код: plaintext
1.
public virtual IList Certificate
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35981920
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вот наконец то подсказали :) спс попробую ....
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35981926
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.......мозги кипят. добавил но все равно что не то :(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
users.sc
 private IList<certificate> _certificate = new List<certificate>();
 public virtual IList<certificate> Certificate
        {
            get { return _certificate; }
            set { _certificate = value; }
        }

certificate.cs

private users _users;

        public virtual users Users
        {
            get { return _users; }
            set { _users = value; }
        }
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982019
KirillMedvedev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Вы быб скопировали быб ошибку (интересует InnerException), глядишь, люди б и помогли...
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982148
Sergej
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Certificate" != "certificate"

Class Property Name != Mapping Property Name
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982204
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот вам и ошибка
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982254
SergASh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну наконец-то. А написали бы ошибку сразу, был бы вам ещё вчера ответ.

Попробуйте вместо
<one-to-many class="Domain.certificate"></one-to-many>
написать
<one-to-many class="Domain.certificate, Domain"></one-to-many>

Кстати, а нет ли там ещё более вложенного исключения?
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982312
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergASh,

пробовал и так и так в голове каша самое просто и не получается ладно попробую еще раз может раньше в другом месте ошибка была
спс :)
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982326
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наверняка еще что то не то ошибки те же.... надо отдохнуть и подумать :)
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982400
SergASh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напишите сюда полный текст маппинга и классов. Сказать по правде, у вас довольно-таки тривиальная ситуация - два класса, две таблицы и связь один ко многим. Там негде ошибиться, так что скорее всего где-то опечатка. Давайте полный листинг, короче говоря. Посмотрим.

И ещё, как сборка называется? Domain.dll ?
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982465
sergio_c116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergASh,

хорошо .... щас сделаю
Состав Domain.dll

certificate.cs

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
using System;
using System.Collections.Generic;
using System.Text;

namespace Domain
{
    public class certificate
   
    {
        private int _idcerts;
        private string _certz;
        private string _certo;
        private string _certk;
        private users _users;

        public certificate()
        { 
        
        }
       

        public virtual users Users
        {
            get { return _users; }
            set { _users = value; }
        }

       public virtual int IDcertts
        {
            get { return _idcerts; }
            set { _idcerts = value; }
        }
        public virtual string Certz
        {
            get { return _certz; }
            set { _certz = value; }
        }

        public virtual string Certo
        {
            get { return _certo; }
            set { _certo = value; }
        }

        public virtual string Certk
        {
            get { return _certk; }
            set { _certk = value; }
        }


    }
}

certificate.hbm.xml

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Domain">
	<class name="Domain.certificate, Domain"  table="certificate">

		<id name="IDcertts" column="idcerts" type="int">
			<generator class="native"/>
		</id>

		<property name="Certz" column="certz" type="String"/>
		<property name="Certo" column="certo" type="String"/>
		<property name="Certk" column="certk" type="String"/>

		<many-to-one name="users" class="Domain.users, Domain" column="iduser" cascade="all" />
		
	</class>
</hibernate-mapping>

users.cs

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;

namespace Domain
{
    public class users
    {
        private String _id;
        private String _name;
        private String _pass;

        private IList<certificate> _certificate = new List<certificate>();
        public virtual IList<certificate> Certificate
        {
            get { return _certificate; }
            set { _certificate = value;}
        }

        public users()
        {
            _id = String.Empty;
            _name = String.Empty;
            _pass = String.Empty;
        }
        public users(String user, String login, String password)  
        {
            _id = user;
            _name = login;
            _pass = password;
        }

       public virtual string UserN
        {
            get { return _id; }
            set { _id = value; }
        }
        public virtual string NameUser
        {
            get { return _name; }
            set { _name = value; }
        }

        public virtual string Password
        {
            get { return _pass; }
            set { _pass = value; }
        }


    }
}

users.hbm.xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Domain">
	<class name="Domain.users, Domain"  table="users">

		<id name="UserN" column="iduser" type="string">
			<generator class="native"/>
		</id>

		<property name="NameUser" column="name" type="String"/>
		<property name="Password" column="pass" type="String"/>
		<bag name="certificate" cascade="all-delete-orphan" lazy="false">
			<key column="iduser" />
			<one-to-many class="Domain.certificate, Domain" />
		</bag>
	
	
	</class>
</hibernate-mapping>
...
Рейтинг: 0 / 0
NHibernate помогите разобратся с ошибкой
    #35982552
SergASh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так и есть, опечатка. Точнее две.
1. <many-to-one name="Users" ...
Users c большой буквы, поскольку это имя свойства, а оно у вас с большой буквы начинается.
2. <bag name="Certificate" ...
Certificate c большой буквы по той ж е причине.

После этих двух исправлений у меня сеанс сконфигурировался без всяких исключений.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate помогите разобратся с ошибкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]