使用WCF数据服务

时间:2014-04-10 10:37:43

标签: c# wcf wcf-data-services

我尝试使用之前制作的wcf数据服务引用。一切都井然有序,直到我尝试在客户端的数据网格中加载数据,但它只加载列标题。尽管数据库充满了数据,但没有加载任何数据。

视觉工作室没有引发任何错误。

以下是代码和截图

namespace AccountingApplication.Views.Invoices
{
    public partial class InvoicePages : Page
    {
        InventoryEntities SalesOrderHeaderContext = new InventoryEntities(new Uri("http://localhost:9090/EntityDataServices/EntityDataServices.svc/"));
        DataServiceCollection<SalesOrderHeader> SalesOrderCollection = new DataServiceCollection<SalesOrderHeader>();

        public InvoicePages()
        {
            InitializeComponent();

            LoadSalesOrderHeader();
        }

        private void LoadSalesOrderHeader()
        {
            SalesOrderCollection.LoadCompleted += new EventHandler<LoadCompletedEventArgs>(SalesOrderCollection_loadCompleted);
            var soQuery = from salesOrder in SalesOrderHeaderContext.SalesOrderHeaders 
                          select salesOrder;
            SalesOrderCollection.LoadAsync(soQuery );
        }

        private void SalesOrderCollection_loadCompleted(object sender, LoadCompletedEventArgs e)
        {
            SalesOrderHeaderRadGridView.ItemsSource = SalesOrderCollection.ToList();
            testDG.ItemsSource = SalesOrderCollection;
        }
    }
}

enter image description here

3 个答案:

答案 0 :(得分:0)

这只是一个想法,但它接缝你从这行中的数据库中选择数据

var SOQuery = from salesOrder in SalesOrderHeaderContext.SalesOrderHeaders select salesOrder;

但你没有把SOQuery放在任何地方。我只是看不到你对所选数据做了什么。您收集了数据,但您没有使用它。 SOQuery现在应该是某种列表。希望这有助于任何。

答案 1 :(得分:0)

我得到了答案,但我需要先睡个好觉。我会在早上发布答案

答案 2 :(得分:0)

好吧显然,互联网上的几乎所有教程都使用这些行作为clientaccesspolicy.xml这样输入

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy> 

这条线因为Silverlight 4而引起了这条线上的一个重大问题

<allow-from http-request-headers="SOAPAction">

我们必须更改http-request-headers =&#34; *&#34;&gt;为了使Web服务正常工作。