2016-04-22 1 views
0

Я пытаюсь изучить одноэлементный шаблон, но у меня возникли проблемы с получением данных из таблицы и заполнением моего gridview. Btw Я использую сущность framework.Singleton get datas from table

Вот мой GridView:

<asp:GridView ID="GridView1" runat="server"></asp:GridView> 

Мои PersonelTable Класс:

public class PersonelTable 
{ 
    public PersonelTable(string isim,string soyad) 
    { 
     Isim = isim; 
     Soyad = soyad; 
    } 
    public int Id { get; private set; } 
    public string Isim { get; set; } 
    public string Soyad { get; set; } 
} 

Мой класс userbusiness:

public sealed class UserBusiness 
{ 
    private JuqueryDbEntities entity = new JuqueryDbEntities(); 
    private static volatile UserBusiness instance; 
    private static readonly object syncRoot = new Object(); 

    private UserBusiness() { } 

    public static UserBusiness Instance 
    { 
     get 
     { 
      if (instance == null) 
      { 
       lock (syncRoot) 
       { 
        if (instance == null) 
         instance = new UserBusiness(); 
       } 
      } 
      return instance; 
     } 
    } 

    public List<PersonelTable> GetAllUsers() 
    { 
     List<PersonelTable> personelList = new List<PersonelTable>(); 

     var users = (from u in entity.PersonelTable select u); 
     foreach (var user in users) 
     { 
      personelList.Add(new PersonelTable(user.Isim,user.Soyad)); 
     } 
     return personelList; 
    } 
} 

И, наконец отделенного кода моего веб-формы:

protected void PopulateGridView() 
    { 
     List<PersonelTable> personelList = UserBusiness.Instance.GetAllUsers(); 
     GridView1.DataSource = personelList; 
     GridView1.DataBind(); 
    } 

Я получаю сообщение об ошибке, как «ProjectName.PersonelTable не имеет создателя без параметра» в foreach моего метода GetAllUsers. Почему это происходит и как я могу это исправить?

+1

«Я пытаюсь изучить одноэлементный шаблон». Пожалуйста, просто не надо. [Синглтон - это анти-шаблон] (http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons?rq=1). Это как сказать: «Я учусь ударить головой о стену, оптимизируя потерю крови». Действительным ответом будет «просто прекратить это». – nvoigt

+0

Я так много красных статей об одноместном и действительно запутался, так как все говорят разные вещи. Хорошо, тогда какой тип шаблона я могу использовать, чтобы не мешать объектам пользователя друг другу? Caues Мне было очень тяжело. Один пользователь делает что-то, и другой пользователь получает влияние, когда они используют одну и ту же функцию в одно и то же время. @nvoigt –

+0

Вам нужна какая-то синхронизация. Поскольку мы не знаем, в чем проблема, трудно помочь. Вы можете задать вопрос о своей реальной проблеме. – nvoigt

ответ

0

Я думаю, что вы передаете параметры в таблице Person, которая действительно не нужна. Не могли бы вы удалить этот параметр и повторить попытку?