- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一位经验丰富的 .NET/C# 开发人员,但对这里的几乎所有技术/库(包括 SQL/DB 工作)都是新手。
我正在开发一个具有 Azure/Entity Framework .NET 后端和可移植 .Net APK 的项目,以供许多其他项目使用。我试图遵循推荐的实践和指南,但令人惊讶的是很难找到文档。我发现自己反复感觉自己正在与系统作斗争,并用钝汤匙慢慢地扑灭看似无穷无尽的火灾。
我发现自己想知道我使用的整体架构是否是这里的根本问题。我更愿意假装我不仅仅是无能。
TableController
hoàn thànhApiController
对于非查询操作MobileServiceClient
的服务类和IMobileServiceTable
并公开 SDK 类DTO 合约接口(interface)的动机是尽可能远离魔术字符串/依赖成员名称。这些是接口(interface)而不是类,因为 TableController
nhu cầu ITableData
的实现,它不可用于可移植 DTO 合约项目。
TableController
类 GET 方法当前引用当前上下文(不是 this.Query()
)Và .Select()
创建 DTO 类的匹配实例。延迟加载完好无损。这些 GET 方法应用 .Where()
Và this.User
仅过滤掉用户有权访问的实体。
代码优先模型完全源自EntityData
,即使该类不会通过 TableController
公开。导航属性用于未通过其自身公开的类型 TableController
。使用Fluent API来描述关系。
DTO 类将其关系属性公开为接口(interface)类型而不是具体类型,因为这就是接口(interface)的工作方式。
目前使用IMobileServiceTable
但可能会切换到 IMobileServiceSyncTable
在某个时刻。
DTO 类将其关系属性公开为接口(interface)类型而不是具体类型,因为这就是接口(interface)的工作方式。
现在,我已经成功地公开了从数据库中提取的 SDK 类型。 DB model -> DB DTO --> *MS Code* --> SDK DTO -> SDK exposed class
所有作品。
有点。
公开其他 DB DTO 类的 DB DTO 类的属性似乎在传输中被忽略,尽管它们是 GET 方法中返回的 IQueryable 的一部分。我无法使用 $expand=
检索它们显然The specified type member 'TestClass' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
如果我从接口(interface)属性类型切换到具体属性类型,这种情况仍然会发生。
我可以通过仅包含外键 ID 并在 SDK 中单独获取链接实体来避免此问题,但这似乎非常低效,而且有点不可行。
讨厌吗?
更具体地(正式地)当前的项目结构是否合理并且可能可持续?是否有任何明显的缺陷或疏忽会阻止其发挥作用?
假设这是相当合理的,那么解决 DTO $expand 问题的正确方法是什么?
1 Câu trả lời
$expand 属性是可行的方法,但不幸的是 Azure 移动客户端 SDK 在查询字符串中阻止了该属性。它将来会被修复,但目前您最好的选择是使用服务器端的属性在传入请求上添加查询字符串。
有关此示例,请参阅 https://github.com/paulbatum/FieldEngineerLite/blob/master/FieldEngineerLite.Service/Helpers/ExpandPropertyAttribute.cs 。该示例适用于 Azure 移动服务,但该代码可以轻松应用于 Azure 移动应用服务器 SDK。
关于entity-framework - 构建/构建 Azure 移动应用服务 Entity Framework 代码优先和 .NET APK 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604026/
Tôi đang gặp sự cố khi xây dựng một ứng dụng cụ thể bằng gradle. Ứng dụng này có thể được biên dịch và xây dựng bằng Eclipse và chạy tốt trên máy tính bảng. Khi tôi thử xây dựng nó bằng Gradle, "compileDebugJava"
Tôi có một chương trình C do một lập trình viên nghỉ việc để lại. Tôi cố gắng tìm hiểu chính xác anh ấy đang làm gì và sắp xếp lại phần mềm thành thứ gì đó hợp lý hơn để tôi có thể xây dựng nó dễ dàng hơn. Tôi sử dụng CMake để xây dựng, còn anh ấy sử dụng Make. có
Tôi vừa bắt đầu đọc "Pro Spring MVC with web flow" và sách có kèm theo một ví dụ mã mà tôi muốn làm theo. Những gì tôi muốn - Tôi muốn xây dựng ứng dụng như trong sách, sử dụng Gradle. Những vấn đề là gì - Tôi chưa bao giờ sử dụng Gradle
Tôi hy vọng ai đó đã làm điều này rồi. Tôi đang cố gắng thiết lập bản dựng liên tục trong teamcity cho một trong những dự án Angular 2 của mình. Sau khi nghiên cứu, tôi đã làm theo các bước sau: Bước 1: Cài đặt js cho teamcity
Tôi có một giải pháp trang web ASP.Net cũ trông như thế này: Khi tôi xây dựng giải pháp trong Visual Studio, tôi nhận được kết quả sau: ------ Build started: Project: C:\..
Tôi sử dụng gulp-usref, gulp-if, gulp-uglify, gulp-csso và gulp-file-include để xây dựng ứng dụng của mình. Mọi thứ trong bản dựng đều hoạt động tốt ngoại trừ HTML vẫn giữ nguyên
Tôi đang phát triển một ứng dụng di động nội bộ bằng ionic2. Tôi có thể xây dựng thành công cho ios thông qua: ionic build ios và ionic build ios --prod nhưng nó cứ bị lỗi khi tôi thực hiện
Tôi là một nhà phát triển .NET/C# giàu kinh nghiệm nhưng lại mới làm quen với hầu hết các công nghệ/thư viện ở đây (bao gồm cả công việc SQL/DB). Tôi đang phát triển một ứng dụng .NET với nền tảng Azure/Entity Framework và một ứng dụng di động
Tôi đang sử dụng VS 2008. Tôi có thể biên dịch thành công giải pháp của mình bằng IDE. Tuy nhiên, khi tôi thử xây dựng bằng devenv.com, nó không thành công với lỗi "Lỗi: Không tìm thấy đầu ra nào cho nhóm đầu ra của dự án '(không thể xác định tên)'". Nhóm, cấu hình của nó, hoặc
Phiên bản: ember.js 2.7, ember-data 2.7 ember-cli 2.9.1 // cũng hoạt động với ember-cli 2.7 node 6.9.1, npm 3.10.9 // cũng hoạt động với no
Đây là lần đầu tiên tôi mày mò AzureDevops và thiết lập một số tác vụ CI. Tôi có một kho lưu trữ công khai (mã nguồn mở) và một giải pháp (.sln) chứa 3 dự án F#. Giải pháp có sẵn trên Windows/Mac/Li
Có vẻ như VS2008 vẫn chưa được phiên bản 5.1.5 hiện tại hoặc kho lưu trữ CVS STLPort hỗ trợ. Nếu ai đó đã làm điều này rồi thì sẽ rất hữu ích nếu chia sẻ nếu có thể :) Ngoài ra, hãy tìm hiểu về bản dựng VS2005 hoặc 2008 x64
Tôi có một dự án Python 2.7 và cho đến nay đã sử dụng gfortran và MinGW để xây dựng các tiện ích mở rộng. Tôi sử dụng MinGW vì nó dường như hỗ trợ các câu lệnh ghi và mảng có thể phân bổ trong mã Fortran, trong khi MSVC
đóng cửa. Câu hỏi này không liên quan đến chủ đề. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để phù hợp với chủ đề trên Stack Overflow. Đã đóng cửa 9 năm trước. Cải thiện hàng đợi này
Tôi tự hỏi tại sao Zimbra Wiki chỉ liệt kê các nền tảng cụ thể cho quá trình xây dựng. Điều này có nghĩa là không thể xây dựng Zimbra trên các bản phân phối Linux khác không? Cộng đồng Zimbra chọn một bản phân phối Linux cụ thể để xây dựng Zimbra
Tôi sẽ xây dựng một công cụ CLI trong Swift. Tôi đã tạo dự án bằng lệnh này swift package init --type executable Khi tôi xây dựng dự án của mình và phân tích các tham số trong Xcode, hãy đọc bí danh và
Tôi muốn thiết lập quyền cho các tệp được thêm vào ảnh docker. Tôi có Dockerfile đơn giản này: FROM ubuntu:utopic WORKDIR /app RUN groupadd -g 1000 b
Khi tôi sử dụng clBuildProgram trong mã OpenCl của mình, nó không thành công với mã lỗi -11 mà không có bất kỳ thông tin nhật ký nào. Đây là mã của tôi trông như thế nào: ret = clBuildProgram(program
Tôi có một thanh điều hướng ở phía dưới có trang danh sách sử dụng khối trạng thái. lớp _MainPageState mở rộng State { int _index = 0; @override Wi
Tôi đang sử dụng Jenkins trên máy cục bộ của mình (URL Jenkins không được hiển thị trên Internet, nhưng Internet được bật trên máy đó.) Tôi đã thực hiện các thay đổi cấu hình sau: Cài đặt plugin Git và Github trên công cụ Jenkins
Tôi là một lập trình viên xuất sắc, rất giỏi!