Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 linq到sql,如何定义DataContext而不指定表属性_Windows Phone 7_Linq To Sql_Windows Phone - Fatal编程技术网

Windows phone 7 linq到sql,如何定义DataContext而不指定表属性

Windows phone 7 linq到sql,如何定义DataContext而不指定表属性,windows-phone-7,linq-to-sql,windows-phone,Windows Phone 7,Linq To Sql,Windows Phone,我的目的是使用linq to sql为Windows Phone创建一个通用(不是C#意思)数据库模型。此类模型的用户应该能够将其数据对象类型(用表属性标记的类)的数组传递给模型的contstructor,然后模型应该负责将相关表添加到数据库中,并为CRUD操作提供API 但后来我发现,为了向数据库添加表,您的数据上下文(从DataContext类继承的类)必须将每个表声明为属性!那太尴尬了。这是否意味着我的想法无法实现?因为我显然无法在运行时向基于DataContext的数据库添加属性 所以我

我的目的是使用linq to sql为Windows Phone创建一个通用(不是C#意思)数据库模型。此类模型的用户应该能够将其数据对象类型(用表属性标记的类)的数组传递给模型的contstructor,然后模型应该负责将相关表添加到数据库中,并为CRUD操作提供API

但后来我发现,为了向数据库添加表,您的数据上下文(从DataContext类继承的类)必须将每个表声明为属性!那太尴尬了。这是否意味着我的想法无法实现?因为我显然无法在运行时向基于DataContext的数据库添加属性

所以我的问题是,我的判断正确吗?如果是,是否有解决此问题的变通方法

提前谢谢


编辑:更好的问题标记,因为有人终于注意到了这一点。

您不需要使用强类型的
DataContext
(从
DataContext继承并声明每个表的属性的类)。您可以改为执行以下操作

var context = new DataContext("connection string", new AttributeMappingSource());

var table = context.GetTable<T>();
var-context=new-DataContext(“连接字符串”,new-AttributeMappingSource());
var table=context.GetTable();

其中,
T
是用
属性标记的某种类型。

您不需要使用强类型的
数据上下文
(从
数据上下文
继承并声明每个表的属性的类)。您可以改为执行以下操作

var context = new DataContext("connection string", new AttributeMappingSource());

var table = context.GetTable<T>();
var-context=new-DataContext(“连接字符串”,new-AttributeMappingSource());
var table=context.GetTable();
其中,
T
是用
属性标记的某种类型