2014-01-20 2 views
1

Это моя таблица базы данныхEntity Framework количество строк всегда 0

CREATE TABLE [dbo].[MyClass] (
    [Id]  INT  IDENTITY (1, 1) NOT NULL, 
    [Criteria] NCHAR (50) NOT NULL, 
    PRIMARY KEY CLUSTERED ([Id] ASC) 
); 

SET IDENTITY_INSERT MyClass ON; 
insert into MyClass(Id, Criteria) values('1', 'Value1'); 
insert into MyClass(Id, Criteria) values('2', 'Value2'); 

Строка соединения

<add name="EFDbContext" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=MyTableName;Integrated Security=True" providerName="System.Data.SqlClient" /> 

И EFDbContext класс

public class EFDbContext : DbContext { 
    public EFDbContext() 
     : base("EFDbContext") { 
    } 

    public DbSet<MyClass> MyClasses { get; set; } 
} 

Однако значение 'количество' является всегда ноль.

public class MyController : Controller 
{   
    public ActionResult Index() { 
     var db = new EFDbContext();    
     var firstValue = db.MyClasses.FirstOrDefault(x => x.Id > 1); 
     var count = db.MyClasses.Count(); 
     return View(); 
    } 

} 

EDIT:. Я попытался граф вар = db.MyClasses.ToList() Count(); но все равно возвращает ноль

ответ

2

Используйте это:

List<MyClasses> classList = db.MyClasses.ToList(); 
int count = classList.Count(); 
+0

Still возвращает 0 –

+0

пожалуйста, убедитесь, что ваша таблица имеет строки. –

+0

Да, он имеет две строки –

0

Проверьте эту строку в код

SET IDENTITY_INSERT **SqaCriterion** ON; //It should be **SqlCriterion** 
insert into MyClass(Id, Criteria) values('1', 'Value1'); 
insert into MyClass(Id, Criteria) values('2', 'Value2'); 
+0

Извините, просто введите «SET IDENTITY_INSERT ** MyClass ** ON;» таблица имеет 2 строки –

+0

, затем проверьте в своей базе данных .. есть ли у нее записи – Nilesh

+0

Да, у нее есть 2 записи –

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