MVC3 基本 C# 编程问题 - 动态 CRUD XML 应用程序 - 问题

发布于 2024-12-01 08:22:33 字数 671 浏览 1 评论 0原文

我已经使用存储库模式在 XML 文档上创建了一个具有 CRUD 功能的应用程序。 我有 4 个模型(4 个 xml 文件),每个模型都有一个存储库类。 之前,构造函数中仅将 4 个 xml 文档读入 XDocument 对象。

 itemData = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/Items/item1.xml"));

现在我想让 xml 文件动态化,这样它就可以读取无限的 xml

那么最好的方法是什么?创建第二个构造函数并从 url 传入参数?像这样:

        public ItemRepository()
            {
            }

            public ItemRepository(string xml)
            {
             itemData = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/Items/" + xml + ".xml"));
                 ....
            }

还有其他建议吗?因为我的模型得到了 NullReferenceException 。

I've created an app with CRUD functions on XML documents with repository pattern.
I have 4 models (4 xml files) with each a repository class.
Before it was just 4 xml documents that were read into a XDocument object in the constructor.

 itemData = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/Items/item1.xml"));

Now I would like to make the xml file dynamic, so it can read unlimited xmls

So whats the best approach? Making a second constructor and passing in a parameter from the url? Something like this:

        public ItemRepository()
            {
            }

            public ItemRepository(string xml)
            {
             itemData = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/Items/" + xml + ".xml"));
                 ....
            }

Any other suggestions? Cos i get NullReferenceException with the Model with this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌酱 2024-12-08 08:22:33

除了存储库可能直接接受获取其 xml 文件的完整路径之外,我没有发现您的方法有任何不好的地方。这会是一种更简洁的书写方式。

由于您的 NullReferenceException,只有彻底的调试可能会对您有所帮助。如果您的第一个语句有效,我不明白为什么下一个语句不应该起作用,至少从您在这里编写的代码来看是这样。

祝你好运,

I do not see anything bad with you approach except that the repository might accept directly the complete path to get its xml file. It would be just a bit cleaner way of writting it.

AS your NullReferenceException, only a thorough debug might help you. If your first statement was working , I do not see why the next one shouldn't, at least from the bits of code you have written here.

Good luck to you,

征棹 2024-12-08 08:22:33

最简单的解决方法是将构造函数中的代码直接放入所有 CRUD 方法中。这里有一个链接,提供更多信息(以及更多问题:P)使用 XElement 时出现 NullReferenceException

Easiest workaround is to just out the code from the constructor into all the CRUD methods. Here a link for a little more info (and more issues :P) NullReferenceException while using XElement

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文