gpt4 book ai didi

c# - 如何在 PetaPoco 中检索 xml 列

转载 作者:太空狗 更新时间:2023-10-30 01:18:15 25 4
gpt4 key购买 nike

我在 sql (msql-server) 中使用 nvarchar 数据类型来描述描述。但我想将该列更改为 xml 数据类型。在我的 c# 数据层中,我使用 petapoco 获取数据,它使用 Ado.Net DataReader。

所以

poco对象:

[PetaPoco.TableName("sqlTableName")]
[PetaPoco.PrimaryKey("ID")]
public class PlainObj
{
public int ID { get; set; } //(int, not null)
public string Description { get; set; } //(string, null) want to change this to xml type
}

poco 获取方法

   public static List<PlainObj> Get(int InId)
{
var s = PetaPoco.Sql.Builder.Append(";EXEC @0", Common.StoreProcs.GetSP);
s.Append("@@ID = @0", new SqlParameter() { SqlDbType = SqlDbType.Int, Value = InId });

return PetaPocoContext.Fetch<PlainObj>(s); //Gets the object
}

我的问题是,如何获取描述的 XML 而不是字符串,PetaPoco 是否支持它。

最佳答案

我认为 Petapoco 不支持开箱即用的 XML 数据类型,但是如果你在 SQL Server 中将数据类型更改为 XML 并将 poco 上的相应属性保留为字符串,你可以使用类似 linq to xml 的东西或 xDocument 在选择时将返回的字符串作为 xml 处理。您可能还可以向 poco 添加一个 XmlDocument 属性(Petapoco.Igrnored)(我建议在部分类中,这样如果您重新生成 t4,它就不会被覆盖)并处理字符串到 xml 和 xml 到字符串的转换getters/setters,以便您可以无缝访问 XML 对象。虽然我还没有测试对 xml 字段的更新/插入,但 Petapoco 的参数处理通常会接受我扔给它的任何东西。

关于c# - 如何在 PetaPoco 中检索 xml 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28163144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com