2012-12-24 5 views
0

Я не уверен, что здесь происходит. Модель была сгенерирована автоматически из базы данных, и я не вижу ничего очевидного (разумеется, сейчас на данный момент время Великобритании составляет 2.30 утра, так что, возможно, я полусон). Я получаю сообщение об ошибке: ActiveCitizenSystemMimic.Models.ActiveCitizenProperties не содержит конструктор, который принимает 2 аргумента.Не содержит конструктор, который принимает 2 аргумента

Модель:

namespace ActiveCitizenSystemMimic.Models 
{ 
    using System; 
    using System.Collections.Generic; 

    public partial class ActiveCitizenProperties 
    { 
     public int FK_ActiveCitizen { get; set; } 
     public int FK_PropertyType { get; set; } 
    } 
} 

Контроллер:

List<ActiveCitizenProperties> activeCitizenProperties = new List<ActiveCitizenProperties>(); 
activeCitizenProperties.Add(new ActiveCitizenProperties(1, 2)); 

ответ

3

Вы можете заменить код:

List<ActiveCitizenProperties> activeCitizenProperties = new List<ActiveCitizenProperties>(); 
activeCitizenProperties.Add(new ActiveCitizenProperties(){ FK_ActiveCitizen = 1, FK_PropertyType = 2 }); 

Ваш класс «автоматически генерируется», очевидно, не содержит конструктор, который принимает 2 аргумента. Если бы это было, то было бы так:

namespace ActiveCitizenSystemMimic.Models 
{ 
    using System; 
    using System.Collections.Generic; 

    public partial class ActiveCitizenProperties 
    { 
     public int FK_ActiveCitizen { get; set; } 
     public int FK_PropertyType { get; set; } 

     public ActiveCitizenProperties(int a, int b) 
     { 
      this.FK_ActiveCitizen = a; 
      this.FK_PropertyType = b; 
     } 
    } 
} 
+0

Perfect. Спасибо также за объяснение. – ChrisCurrie

3

Ошибка означает, что он говорит: ActiveCitizenProperties конструктор не принимает два параметра. В коде отсутствует конструктор, определенный в классе вообще.

Вы можете использовать, хотя:

new ActiveCitizenProperties { FK_ActiveCitizen = 1, FK_PropertyType = 2 }; 
+0

Спасибо abatishchev. Мне просто нужно было обеспечить, чтобы у меня были скобки в соответствии с ответом Элвина Вонга. – ChrisCurrie

+0

@ user975516: Вы имеете в виду 'new ActiveCitizenProperties() {}' вместо просто 'new ActiveCitizenProperties {}'? Они не требуются, и Resharper, например, намекает опустить их. – abatishchev

Смежные вопросы