2012-03-01 1 views
0

Прежде всего, извините мой английский.Monodroid: Созданный SQLite стол должен иметь больше полей

Я работаю с monodroid на Visual Studio 2010. Я создаю несколько таблиц для SQLite, и у меня есть проблемы с некоторыми из них. Проблема в том, что эти таблицы создаются только с первичным ключом (ID), когда у него должно быть больше полей.

Я использую класс SQLite Krueger для управления уровнем данных. Следующая строка принадлежит MyDataBase.cs, где я создаю базу данных и вызываю для создания таблиц.

CreateTable<MyTableClass>(); //This calls CreateTable on SQLite.cs 

Ниже я покажу MyTableClass.cs

using MyApp.Core.DL.SQLite; 

namespace MyApp.Core.BL 
{ 
    public class MyTableClass : Contracts.BusinessEntityBase 
    { 
     public MyTableClass() 
     { 
      Field1 = 0; 
      Field2 = 0; 
      Field3 = ""; 
     } 

     public int Field1; 
     public int Field2; 
     public string Field3; 
    } 
} 

Это является BusinessEntityBase.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using MyApp.Core.DL.SQLite; 

namespace MyApp.Core.BL.Contracts 

{ 
    public abstract class BusinessEntityBase : IBusinessEntity 
    { 
     public BusinessEntityBase() 
     { 
     } 

     [PrimaryKey] 
     public int ID { get; set; } 

    } 
} 

И интерфейс

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace MyApp.Core.BL.Contracts 
{ 
    public interface IBusinessEntity 
    { 
     int ID { get; set; } 
    } 
} 

Редко, другие таблицы включают полей и кода i похожее на MyClass.cs, просто измените поля. Есть идеи?

Благодаря

ответ

1

Вы проблема заключается в декларациях местах. Они должны быть Свойства:

using MyApp.Core.DL.SQLite; 

namespace MyApp.Core.BL 
{ 
    public class MyTableClass : Contracts.BusinessEntityBase 
    { 
     public MyTableClass() 
     { 
      Field1 = 0; 
      Field2 = 0; 
      Field3 = ""; 
     } 

     public int Field1 { get; set; } 
     public int Field2 { get; set; } 
     public string Field3 { get; set; } 
    } 
} 
+0

Именно поэтому она ID полевых работ, это свойство – Matthew

+0

ORM так только генерируемые поля в БД для свойств – Matthew

+0

вы правы. благодаря – daniherculano