Loading...
VGeorgiev avatar VGeorgiev 1384 Точки

[Домашни] ASP.NET MVC (дискусия)

Здравейте, колеги

Правя тази тема в която да обсъждаме всички домашни от курса. Как ви се струват? Сложни, прости? Като обем как са? Предложения имате ли?

Можете също да споделяте github repositories, за да видя какво правите, ако мога да допълвам домашни или ако съм изпуснал нещо да добавям в следващите домашни.

Поздрави,
Владо

Тагове:
3
C# MVC Frameworks - ASP.NET 22/05/2015 11:25:50
aivian avatar aivian 51 Точки

Как мога да филтрирам tweet - овете да бъдат само тези, на хората, които потребителят е последвал. Опитах много начини и мисля, че така би трябвало да работи:

tweets = this.Data.Tweets.All()
                    .Where(t => user.Following.Contains(t.User))
                    .OrderByDescending(t => t.CreatedOn)                    
                    .Select(TweetViewModel.Create)
                    .Skip((page - 1) * 10)
                    .Take(10);

Но постоянно foreach - а във view - то ми гърми "Unable to create a constant value of type 'Twitter.Models.User'. Only primitive types or enumeration types are supported in this context." и не разбирам къде е проблема. А иначе без where клаузата си работи правилно.

0
a.angelov avatar a.angelov 1316 Точки

Проблема според мен е в това, че заявката ти не може да се преведе до sql - User-а в Where клаузата е причината. Аз съм го направил като съм извадил само id-тата на юзърите, които юзъра следва и проверявам id-то на собственика на туита дали се съдържа в колекцията с id-та.

Нещо такова:

var followingUsersIds = userInDb.FollowingUsers
                .Select(u => u.Id)
                .ToList();

var tweets = this.Data.Tweets.All()
                .Where(t => followingUsersIds.Contains(t.OwnerId))
                .OrderByDescending(t => t.PublishedOn)
                .Select(TweetViewModel.Create)
                .ToPagedList(page ?? 1, PageSize);

 

2
13/10/2015 18:10:21
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.