Windows Phone создать базу данных с элементами - PullRequest
1 голос
/ 29 марта 2012

Я создаю простое приложение для Windows Phone.Я хочу создать базу данных и хочу иметь несколько (скажем, 10) элементов в базе данных.Я новичок, и каждый урок, который я видел, посвящен добавлению элементов в базу данных по кнопке «добавить» или тому подобное.Мне это не нужно, потому что я хочу, чтобы в базе данных было несколько элементов, готовых для их использования пользователем.Как мне этого добиться?Пожалуйста, напишите мне ясно, потому что я все еще начинающий.Если бы вы могли предоставить несколько ссылок на примеры или учебники, это было бы здорово.Спасибо тебе!

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Если вам нужна предварительно загруженная БД, вы можете добавить БД sqlCe в свое приложение и заполнить БД исходными данными. затем вы можете скопировать файл БД в ваш ISO Store при вызове вашего Конструктора DBContext.

public Moviadb1DataContext (string connectionString) : base(connectionString)
    {
        IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();

        if (!iso.FileExists("Moviadb1.sdf"))
        {
            MoveReferenceDatabase();
        }

        if (!DatabaseExists())
            CreateDatabase();
    }

    public static void MoveReferenceDatabase()
    {
        // Obtain the virtual store for the application.
        IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();

        // Create a stream for the file in the installation folder.
        using (Stream input = Application.GetResourceStream(new Uri("Moviadb1.sdf", UriKind.Relative)).Stream)
        {
            // Create a stream for the new file in isolated storage.

            using (IsolatedStorageFileStream output = iso.CreateFile("Moviadb1.sdf"))
            {
                // Initialize the buffer.
                byte[] readBuffer = new byte[4096];
                int bytesRead = -1;

                // Copy the file from the installation folder to isolated storage. 
                while ((bytesRead = input.Read(readBuffer, 0, readBuffer.Length)) > 0)
                {
                    output.Write(readBuffer, 0, bytesRead);
                }
            }
        }
    }

Вы также можете добавить некоторые начальные данные вместо перемещения ссылочной БД, если у вас очень маленький объем данных.

public ListenDataDataContext (string connectionString) : base(connectionString)
    {
        if (!DatabaseExists())
        {
            CreateDatabase();
            List<Audiables> PreLoads = new List<Audiables>();
            PreLoads.Add(new Audiables { Category = 1, Name = "I want To Eat", AudioLocation = "Sounds/Food/1_IwantToEat.wma", ImageLocation = "Images/Food/1_IwantToEat.jpg" });
            PreLoads.Add(new Audiables { Category = 1, Name = "I want To Drink", AudioLocation = "Sounds/Food/1_IwantToDrink.wma", ImageLocation = "Images/Food/1_IwantToDrink.jpg" });

            PreLoads.Add(new Audiables { Category = 2, Name = "I want A Ticket", AudioLocation = "Sounds/Travel/1_IwantATicket.wma", ImageLocation = "Images/Travel/1_IwantATicket.jpg" });
            PreLoads.Add(new Audiables { Category = 2, Name = "I want To Sit", AudioLocation = "Sounds/Travel/1_IwantToSit.wma", ImageLocation = "Images/Travel/1_IwantToSit.jpg" });

            PreLoads.Add(new Audiables { Category = 3, Name = "How Much Is That", AudioLocation = "Sounds/Shopping/1_HowMuchIsThat.wma", ImageLocation = "Images/Shopping/1_HowMuchIsThat.jpg" });
            PreLoads.Add(new Audiables { Category = 3, Name = "Please Take the Money", AudioLocation = "Sounds/Shopping/1_PleaseTakeTheMoney.wma", ImageLocation = "Images/Shopping/1_PleaseTakeTheMoney.jpg" });
            Audiables.InsertAllOnSubmit(PreLoads);
            this.SubmitChanges();
        }
    }

Счастливого создания приложения :)

1 голос
/ 29 марта 2012

Лучший способ - проверить «Образец локальной базы данных» в Образцах кода Windows Phone !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...