このようなテーブルにデータを保存する方法はありますか?
SettingsModel
次のように定義されている列の内側Linq-to-Sql
:
また、DataContext
オプションを使用して:
次のように定義されたクラスSettingsModelを使用して:
namespace ElQueue.DataClasses
{
[DataContract]
public sealed class SettingsModel
{
[DataMember(IsRequired = true)]
public int[] VideoMediaData { get; set; }
}
}
こちらです?..。
using (SomeDataContext dataContext = new SomeDataContext())
{
SettingsModel m = new SettingsModel();
m.VideoMediaData = new int[] { 1, 2, 3 };
dataContext.MainTableSettings.InsertOnSubmit(new MainTableSetting() { SettingsModel = m });
dataContext.SubmitChanges();
}
using (SomeDataContext dataContext = new SomeDataContext())
{
var r = dataContext.MainTableSettings.Single();
}
ご覧のとおり、上記のコードは正しく機能しません。文字列を変換できないという例外がスローMainTableSetting
されます。つまり、すべてのシリアル化されたデータを保存できないか、逆シリアル化できません。
Linq-to-Sql
データベースにアクセスするときに実際にシリアル化(およびその逆)を行うためにこれをポイントする方法について、いくつかのアドバイスが必要です。