First, could you update your question using the whole method so that we can see what can happen to ViewBag? Since your code should work fine, assigning any value to the ViewBag is usually not a problem:
ViewBag.property1 = 0;
ViewBag.property1 = "zero";
works just fine. ViewBagis dynamic. Now you can get this error if you later try to determine ViewBag.ddlUserIdwhat is actually the wrong type.
, , , . , ( > 100.000) User db.Users, Fi. result1 result2 , > 100 000 User , > 100 000 Fi . . , - . , / SQL- , , .. UserID.
, :
var list = (from user in db.Users
where !db.Fi.Any(f => f.UserID == user.UserID)
select user.UserName).ToList()
SQL-:
SELECT
[Extent1].[UserName] AS [UserName]
FROM [dbo].[Users] AS [Extent1]
WHERE NOT EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Fi] AS [Extent2]
WHERE [Extent2].[UserID] = [Extent1].[UserID]
)}
- , ...
:
var list = (from user in db.Users
where !db.Fi.Any(f => f.UserID == user.UserID)
select user.UserName).ToList()
-:
var list = db.Users.Where(user => !db.Fi.Any(f => f.UserID == user.UserID))
.Select(user => user.UserName).ToList()
( , ):
var list = db.Users.Where(user => !db.Fi.Select(f => f.UserID)
.Contains(user.UserID))
.Select(user => user.UserName).ToList();
SQL, , .