2010-10-28 47 views
7

Tôi đang sử dụng FetchXml để truy vấn CRM 4.0. Chúng tôi có một trường hợp đặc biệt sẽ yêu cầu một sự kết hợp tổng hợp giữa các entites CRM. FetchXml schema cho biết rằng nhiều phần tử liên kết-thực thể được cho phép và nó cũng chỉ ra rằng nhiều phần tử bộ lọc/điều kiện có thể được thêm vào một thực thể liên kết. Vấn đề tôi phải đối mặt là thuộc tính value của phần tử condition không xuất hiện để cho phép một tên thực thể/cột. Nó mong đợi một giá trị khai báo rõ ràng.Có thể kết hợp tổng hợp bằng FetchXml trong Microsoft Dynamics CRM 4.0 không?

Ví dụ, FetchXml phép bạn chỉ định này:

<link-entity name='myentity' from='column1' to='column2'/> 

... mà không tương đương với T-SQL của điều này:

JOIN myentity on column1 = column2 

Và nó cho phép bạn chỉ định này:

<link-entity name='myentity' from='column1' to='column2'> 
    <filter type='and'> 
     <condition attribute='column3' operator='eq' value='myvalue' /> 
    </filter> 
</link> 

... đó là T-SQL tương đương với điều này:

JOIN myentity on column1 = column2 AND column3 = 'myvalue' 

FetchXml không xuất hiện, tuy nhiên, để cung cấp tương đương này:

JOIN myentity on column1 = column2 AND column3 = column4 

Lưu ý sự khác biệt. FetchXml cung cấp cho các điều kiện trong phép nối, nhưng nó dường như cung cấp cho một kết hợp tổng hợp, có nghĩa là, một phép nối trên nhiều cột.

Có ai ở ngoài đó trong không gian mạng có thể thực hiện kết hợp tổng hợp bằng FetchXml trong CRM 4.0 không? Cảm ơn!

Thông tin thêm:

Tôi đang săn một câu trả lời có sử dụng FetchXml để thực hiện điều này - không SQL hoặc cú pháp QueryExpression. SQL ở trên là chỉ để giải thích khái niệm.

Trả lời

6

Không, nó không cho phép điều này. Tìm nạp XML là khá hạn chế khi nói đến bất kỳ điều gì không cơ bản trong các phép nối. Nếu tôi tò mò, tôi thường kiểm tra truy vấn của mình bằng cách sử dụng Stunnware Tools. Nếu nó không được tiếp xúc, có thể nó không thể được thực hiện.

Thật không may, trong những tình huống như thế này, tôi thường kết thúc (bị buộc vào) tham gia một cách tiếp cận nhiều truy vấn cho vấn đề.

Tôi biết bạn đã nói bạn không quan tâm đến điều này - nhưng tôi chắc rằng QueryExpression cũng sẽ không xử lý được. Theo kinh nghiệm của tôi, nó chỉ cung cấp một tập con của hàm fetchxml.

+0

Đồng ý. Sau khi tôi đăng câu hỏi này, tôi đã kết thúc thử nghiệm với nhiều truy vấn ... và sử dụng LINQ để kết hợp hai tập hợp kết quả vào những gì tôi cần. May mắn thay LINQ * không * hỗ trợ tham gia qua nhiều cột! Giải pháp LINQ sạch sẽ và dễ đọc. – WiregrassCoder

+0

Oh yea? Đó có phải là sử dụng các phần mở rộng phát triển nâng cao mới (Microsoft.Xrm.Client.sdk) và các lớp được tạo bằng CrmSvcUtil.exe không? Rất tiếc, giải pháp của chúng tôi có quá nhiều thực thể/mối quan hệ tùy chỉnh (điều gì đó) và tôi chưa thể chuyển sang điều này (thời gian chờ). Giả sử họ sẽ cho phép bạn thiết lập thời gian chờ trong tương lai. –

Các vấn đề liên quan