|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУАлексей К"Разруха, она в головах." (ц) ... которые используют IQueryable методы в репозиториях :)У меня вообще нет такого понятия, как репозитарий. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:01 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей КМСУБред же.Это как посмотреть. IQueryable позволяет на сервере приложений организовать окружение, напоминающее окружение в хранимой процедуре в БД. Например, IQueryable-свойство является аналогом View из T-SQL. Дополнительные возможности - это скорее хорошо чем плохо. Единственный недостаток - надо уметь ими пользоваться.И как им пользоваться? Тот код, что Вы показываете, вызывает вопрос: а зачем тут вообще IQueryable. И если типа это аналог представления, то сколько у вас таких "представлений"? N + 1? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:09 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
SerP19832 skyANA и МСУ Спасибо, понял. Согласен, что IQueryProvider писать не айс; согласен, что для каждого IQueryProvider есть своя специфика и, если отдавать наружу IQueryable, можно словить жопу. Предлагаю рассмотреть 2 случая: 1) Опять повторюсь, что у devexpress есть возможность работать с гридом асинхронно (подгружать строки при скроле). Для этого надо использовать LinqInstantFeedbackSource, EntityInstantFeedbackSource, ещечегототамInstantFeedbackSource. При этом код писать практически не надо. Но для InstantFeedbackSource надо указывать Source как IQueryable. 2) Если посмотреть на domainservice (мертвый ria который) или на dataservice (живой OData), то там можно наружу выдавать IQueryable. Вопрос: мне в этих 2-х случаях отказаться от репозитория и напрямую пользовать контекст или сделать репозиторий с IQueryable?Встречный вопрос: Вы OData пользовались? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:14 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУИли ты про кашу IQueryable, которая не пойми что возвращает: в одних случаях это отложенный сиквел запрос с последующей ретрансляцией, в других это просто клиентская коллекция.IQueryable во всех случаях следует рассматривать не как "готовую" коллекцию, а как фрагмент запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:18 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Это как посмотреть. IQueryable позволяет на сервере приложений организовать окружение, напоминающее окружение в хранимой процедуре в БД. Например, IQueryable-свойство является аналогом View из T-SQL. Дополнительные возможности - это скорее хорошо чем плохо. Единственный недостаток - надо уметь ими пользоваться.И как им пользоваться?Если Вы не находите применение такому подходу, наверное, Вам это не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:20 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
А до появления WebAPI с поддержкой OData у вас был public API? На чём он был написан? Там использовали IQueryable? Если да, то как парсили параметры HTTP запроса, какой формат предоставляли? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:25 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
skyANAА до появления WebAPI с поддержкой OData у вас был public API? На чём он был написан? Там использовали IQueryable? Если да, то как парсили параметры HTTP запроса, какой формат предоставляли?Если это вопрос мне, то 14914067 . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:29 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... ... которые используют IQueryable методы в репозиториях :)У меня вообще нет такого понятия, как репозитарий. :-) Посмотри на название темы. Что тогда ты тут делаешь? :) Алексей КМСУИли ты про кашу IQueryable, которая не пойми что возвращает: в одних случаях это отложенный сиквел запрос с последующей ретрансляцией, в других это просто клиентская коллекция.IQueryable во всех случаях следует рассматривать не как "готовую" коллекцию, а как фрагмент запроса. В случае репозитория этот функционал излишен, даже вреден. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:30 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Кстати, Алексей, тоже хотел поинтересоваться. Вот у тебя сервер приложений на WCF, как я понимаю? Каким байдингом пользуешься, чтобы пробрасывать клиентам IQueryable? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:32 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... У меня вообще нет такого понятия, как репозитарий. :-) Посмотри на название темы. Что тогда ты тут делаешь? :)Хочешь меня прогнать? МСУАлексей Кпропущено... IQueryable во всех случаях следует рассматривать не как "готовую" коллекцию, а как фрагмент запроса. В случае репозитория этот функционал излишен, даже вреден.В случае IQueryable репозитарий излишен, даже вреден. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:36 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
2skyANA В проектах - нет. Самому потыкаться - да. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:37 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
О, тролололинг пошёл. А аргументы будут? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:38 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУКстати, Алексей, тоже хотел поинтересоваться. Вот у тебя сервер приложений на WCF, как я понимаю? Каким байдингом пользуешься, чтобы пробрасывать клиентам IQueryable? )А 5 25 14914067 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:38 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
skyANAТот код, что Вы показываете, вызывает вопрос: а зачем тут вообще IQueryable.Ну могу дать другой пример. Не для слабонервных Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710. 711. 712. 713. 714. 715. 716. 717. 718. 719. 720. 721. 722. 723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734. 735. 736. 737. 738. 739. 740. 741. 742. 743. 744. 745. 746. 747. 748. 749. 750.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:42 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей КХочешь меня прогнать? Ну что ты, просто хочу огородить тебя от общества неофитов, которые читают эти злые сообщения про рульность IQueryable :) Алексей КВ случае IQueryable репозитарий излишен, даже вреден. :-) Отлично. То есть репозиторий есть зло? Приехали... Алексей КМСУКстати, Алексей, тоже хотел поинтересоваться. Вот у тебя сервер приложений на WCF, как я понимаю? Каким байдингом пользуешься, чтобы пробрасывать клиентам IQueryable? )А 5 25 14914067 Подожи подожи, мне кажется ты сейчас уходишь от ответа :) Ответь прямо без гавноссылок - какую технологию и какой механизм привязки ты используешь, чтобы пробрасывать IQueryable с сервера приложений? Вопрос понятен, Лёша? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:43 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей КНу могу дать другой пример. Не для слабонервных И где тут IQueryable для клиентов? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:44 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУКстати, Алексей, тоже хотел поинтересоваться. Вот у тебя сервер приложений на WCF, как я понимаю? Каким байдингом пользуешься, чтобы пробрасывать клиентам IQueryable? ) А разве есть что-то стандартное? (bltoolkit не предлагать) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:47 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей КМСУТо есть у тебя все запросы вида "SELECT * FROM"? В форму редактирования уходит объект, сгенерированный по таблице из базы. Алексей Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Божественно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:48 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУАлексей КХочешь меня прогнать? Ну что ты, просто хочу огородить тебя от общества неофитов, которые читают эти злые сообщения про рульность IQueryable :)Спасибо за заботу, приятно. :-) МСУАлексей КВ случае IQueryable репозитарий излишен, даже вреден. :-) Отлично. То есть репозиторий есть зло? Приехали...Я бы не был столь категоричен. Ограничусь тем, что в текущих проектах мне он не нужен. :-) МСУПодожи подожи, мне кажется ты сейчас уходишь от ответа :) Ответь прямо без гавноссылок - какую технологию и какой механизм привязки ты используешь, чтобы пробрасывать IQueryable с сервера приложений? Вопрос понятен, Лёша? )Никакую. :-) Я не отдаю IQueryable на клиента. На клиента уходит готовая коллекция. Я говорю только про внутреннее устройство логики на сервере приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:49 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
SerP1983МСУКстати, Алексей, тоже хотел поинтересоваться. Вот у тебя сервер приложений на WCF, как я понимаю? Каким байдингом пользуешься, чтобы пробрасывать клиентам IQueryable? ) А разве есть что-то стандартное? (bltoolkit не предлагать) Причем тут ORM? Речь о байдингах. Например, вот OData New IQueryable Support for Http Services in WCF Код: c# 1. 2. 3. 4. 5. 6.
Код: c# 1.
Но у Алексея какое-то своё курево. Либо он нас жестко троллит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:50 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей КНикакую. :-) Я не отдаю IQueryable на клиента. На клиента уходит готовая коллекция. Я говорю только про внутреннее устройство логики на сервере приложений. Ты ж моё солнце, а как же N+1 в твоём SOA сервисе? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:52 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
2МСУ Я не про orm, я про это Linq over WCF ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:54 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУАлексей КНикакую. :-) Я не отдаю IQueryable на клиента. На клиента уходит готовая коллекция. Я говорю только про внутреннее устройство логики на сервере приложений. Ты ж моё солнце, а как же N+1 в твоём SOA сервисе? Ну вот, опять... Вся логика крутится внутри одного сервера приложений. Про SOA я не говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:56 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
Алексей, а как же ThreadStatic + счётчик ссылок? Где оно тут у тебя? Алексей КЧтобы избежать нежелательных распределённых транзакций и иметь возможность возвращать из методов IQueryable, временем жизни контекста лучше управлять через ThreadStatic + счётчик ссылок. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 10:57 |
|
IRepository как пользоваться
|
|||
---|---|---|---|
#18+
МСУАлексей, а как же ThreadStatic + счётчик ссылок? Где оно тут у тебя? Алексей КЧтобы избежать нежелательных распределённых транзакций и иметь возможность возвращать из методов IQueryable, временем жизни контекста лучше управлять через ThreadStatic + счётчик ссылок. Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2013, 11:00 |
|
|
start [/forum/topic.php?fid=17&msg=38416395&tid=1349917]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 409ms |
0 / 0 |