Может ли ASP MVC автоматически связываться со свойством коллекции в моей сущности EF4.1 - PullRequest
1 голос
/ 05 февраля 2012

Я бы подумал, что это довольно распространенная проблема, которую, надеюсь, легко решить.

У меня есть базовый пользовательский класс, такой как:

public class User
{
        public User()
        {
            SecurityGroups = new HashSet<SecurityGroup>();
        }

        public virtual Team Team { get; set; }
        public int TeamId {get;set;}

        public virtual ICollection<SecurityGroup> SecurityGroups { get; set; }
}

Затем я создаю новый экземпляр с помощьюприложение ASP MVC.Возвращаемые данные публикации - это что-то вроде

"TeamId=2&SecurityGroups=1&SecurityGroups=5"

с действием контроллера, например

public ActionResult(User user)
{
throw new NotImplementedException();
}

На основании этого связыватель MVC отлично заполняет свойство TeamId, однако (по понятным причинам) это не так.Не знаю, как заполнить SecurityGroups.

Что меня интересует, так это то, возможно ли иметь «примитивную коллекцию» способом, подобным TeamId, который может автоматически заполнять механизм связывания по умолчанию?например,

public ICollection<int>SecurityGroupIds {get;set;}

Спасибо за помощь

1 Ответ

1 голос
/ 05 февраля 2012

Если у вас есть:

public ICollection<int> SecurityGroupIds { get;set; }

, вы можете заполнить его следующим образом:

TeamId=2&SecurityGroupIds=1&SecurityGroupIds=2&SecurityGroupIds=3

Или вы также можете заполнить сложные объекты коллекции:

TeamId=2
SecurityGroups[0].SomeProperty=value1
SecurityGroups[1].SomeProperty=value2
...

Взгляните на следующую статью , чтобы узнать больше о формате проводов, которого связыватель модели по умолчанию ожидает для коллекций и словарей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...