.sdf 文件 wp7/wp8 中的多个表

Posted

技术标签:

【中文标题】.sdf 文件 wp7/wp8 中的多个表【英文标题】:Multiple tables in .sdf file wp7/wp8 【发布时间】:2013-04-15 00:09:51 【问题描述】:

我可以使用多个上下文来创建数据库 (.sdf) 文件吗?我想在一个 .sdf 文件中有多个表。

例如。

    上下文 useraccount 与表架构 上下文messages 与表架构

我已经尝试过的:

using (dataContext accountdb = new dataContext(globalInfo.strConnectionString))

            if (accountdb.DatabaseExists() == false)
            
                accountdb.CreateDatabase();
            
            else
            

            

我想这样做:

使用帐户上下文和消息上下文创建单个 .sdf 文件。

提前感谢您的帮助,非常感谢。

【问题讨论】:

在同一个数据库中拥有多个上下文不是一个好主意,它会给你带来各种痛苦——锁定问题,无法使用 DatabaseSchemaUpdater 类。您可以在每个上下文中拥有多个表,并在您的应用程序中拥有多个 sdf 文件。这样做的唯一方法是在您的应用程序中包含一个空数据库,其中两组表都已经存在。 我知道这种情况,我可以添加一个由 Visual Studio 生成的空文件,但应用程序的用户在首次使用密码运行创建数据库文件时会对其进行加密。这就是问题所在。 在您的问题中透露所有信息是个好主意... 【参考方案1】:

猜不编码,累了必须编码。答案很简单,将表格添加到单个上下文中。

class dataContext:DataContext

    public dataContext(string connectionString): base(connectionString)
     

     
    //1------------
    public Table<account> accountees
    
        get
        
            return this.GetTable<account>();
        
    
    //2--------------
     public Table<messages> messagees
     
     get
     
     return this.GetTable<messageCategory>();
     
     
    //3---------------
     public Table<test> testees
     
         get
         
             return this.GetTable<testCategory>();
         
     

感谢 ErikEJ 为我指明了正确的方向。

【讨论】:

此外,按照惯例,类以大写字母和您的属性名称开头。

以上是关于.sdf 文件 wp7/wp8 中的多个表的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 windows mobile 6.5.3 设备上的 sql server management studio 中的 sdf 文件

将多个 CSV 文件加载到 MYSQL 中的单个表中 [重复]

如何将单个工作表中的多行(在 excel 中)转换为多个 CSV 文件

SDF文件的用途

如何在 SQL 开发人员中将多个表中的数据导出到多个 .TXT 文件中

MySQL 将多个表中的特定字段导出到一个 csv 文件中?创建表输出