[英]C# - Using Linq to SQL with XML Serialization
在對象的某些屬性上使用Linq進行SQL和XML序列化時,我不太了解。
我會定期創建表,然后使用Linq到SQL生成我的所有類。 但是現在由於我序列化了一些類屬性,因此在創建數據庫表時,我將這些屬性定義為varchar(用於XML字符串),而不是它們的實際類型。 因此,將使用字符串類型的屬性而不是實際的類來創建自動生成的類。
當從數據庫中插入/獲取對象時,有沒有辦法告訴Linq自動應用我的反序列化? 並在Linq自動生成的類中保留序列化屬性的原始類型?
例如一個類
注意classBProp的類型為ClassB。
class ClassA
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private ClassB classBProp; // <-- This is something i'm serializing
public ClassB ClassBProp
{
get { return classBProp; }
set { classBProp = value; }
}
public ClassA()
{
classBProp = new ClassB();
}
}
上課表
這里ClassBProp是varchar類型的。 因此,Linq to SQL生成具有字符串屬性的類。
CREATE TABLE [dbo].[ClassA] (
[Id] INT NOT NULL,
[Name] VARCHAR (50) NULL,
[ClassBProp] VARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
我認為這是不可能的。
在這種情況下,您將不得不使用另一個對象來隱藏將對象存儲為Xml字符串這一事實。
所以:
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.