System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: 2607b91f208d1ec738f637780bbe138d2b0cdc03
Title: Views is not detected
Status: Closed Type: Incident
Severity: Important Priority: Medium
Subsystem: LINQ Resolution: Need_More_Info
Last Modified: 2015-06-26 03:10:46
Version Found In: 1.0.96
User Comments:
anonymous added on 2015-05-25 13:08:31:
I have created a view "xDTO" in sqlite database , Have created a similar poco class on my application with the same columns names, create an extra class for configuration 
    public class xDTOConfiguration : EntityTypeConfiguration<xDTO>
    {
        public xDTOConfiguration()
        {
            this.HasKey(t => t.xId);
            this.ToTable("xDTO");
        }
    }
add the configuration to context class 
modelBuilder.Configurations.Add(new xDTOConfiguration());

while trying to load the view am getting the following error 
sql logic error or missing database r no such table

PS: the application is working fine with the other tables, the only problem in dealing with the views

anonymous added on 2015-05-25 13:37:51:
I have created a view "xDTO" in sqlite database , Have created a similar poco class on my application with the same columns names, create an extra class for configuration 
    public class xDTOConfiguration : EntityTypeConfiguration<xDTO>
    {
        public xDTOConfiguration()
        {
            this.HasKey(t => t.xId);
            this.ToTable("xDTO");
        }
    }
add the configuration to context class 
modelBuilder.Configurations.Add(new xDTOConfiguration());

while trying to load the view am getting the following error 
sql logic error or missing database r no such table

PS: the application is working fine with the other tables, the only problem in dealing with the views

mistachkin added on 2015-05-25 16:43:54:
Does this issue involve some kind of Entity Framework integration?

mistachkin added on 2015-05-25 16:44:51:
Can you provide the schema for the database and some example code that
demonstrates the issue?

anonymous added on 2015-05-26 10:13:53:
About the EF integration, am not sure what do you mean by that, am using the following packages from nuget 
  <package id="System.Data.SQLite" version="1.0.96.0" targetFramework="net452" />
  <package id="System.Data.SQLite.Core" version="1.0.96.0" targetFramework="net452" />
  <package id="System.Data.SQLite.EF6" version="1.0.96.0" targetFramework="net452" />
  <package id="System.Data.SQLite.Linq" version="1.0.96.0" targetFramework="net452" />

Simulation is easy, i have a status table with the following details 
statisid -- numeric 
name - text 


then i have a view called StatusDTO 
create view StatusDTO as select * from status 

In my application 
I have a class represent the same structure like the view 
 public class StatusDTO 
{
        public int StatusId { get; set; }
        public string Name { get; set; }
}

In my context here is whats been added 
 public class DBContext : DbContext
    {
        public DBContext()
        {
            // Turn off the Migrations, (NOT a code first Db)
            Database.SetInitializer<SchedulerContext>(null);
        }

        public DbSet<StatusDTO> ScheduleDTO { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            // Database does not pluralize table names
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

            modelBuilder.Entity<StatusDTO>().HasKey<int>(l => l.StatusId);
            modelBuilder.Entity<StatusDTO>().ToTable("StatusDTO");
        }
    }

mistachkin added on 2015-05-26 18:12:49:
So, the error being seen has to do with the view not actually getting created?

Is the Entity Framework code supposed to create it or was that done manually at
some point?

anonymous added on 2015-05-28 07:41:55:
No the view is being created manually as i mentioned earlier, entity framework is only playing the role to map it only  as u see from the initialization on the context class 
 Database.SetInitializer<SchedulerContext>(null);

mistachkin added on 2015-05-29 17:34:45:
I'm not sure how Entity Framework handles views.  Is the Entity Framework
calling GetSchema with "VIEWS" as the collectionName?

anonymous added on 2015-06-01 08:01:35:
Am not sure whats happening in the background of calling the views but am using linq to call it in the following way 
var query = from a in context.ScheduleDTO
                       where a.From <= dateFrom
              select a;