问题标签 [lightswitch-2012]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 LightSwitch 的 WCF RIA 服务中创建一对一关系?
我对 WCF RIA 服务和 Microsoft LightSwitch 的理解已经走了很长一段路,但现在我不知所措。我将使用Animal和Dog作为示例。我实际上想要一个零或一对一的关系,并不是每个动物都一定是/有狗。
首先,我在我想与 RIA 服务一起使用的数据库中创建一个一对一的关系。然后像往常一样更新我的 RIA 服务项目中的 Model.edmx 文件。问题不是这让我可以ObjectContext.Dogs像我期望的那样访问,它不存在,而是 Animal 被赋予了 Dog 的额外属性。显然,一对一的关系是以这种方式特别处理的,这似乎是有帮助的,但我很难以这种方式处理它。
我的 RIA 服务类如下所示:
除非有某种我不知道的神奇的一对一数据注释属性,否则我必须为每个其他类RiaDog编写CRUD 方法。RiaAnimal鉴于 ObjectContext.Dogs 不存在这一事实,这变得非常尴尬,我必须通过 Animal 工作:
这已经感觉很奇怪了,我必须在 Dog 属性之一上使用 where 子句来隔离狗。
通过一些简单的创意,我可以获得插入、更新和删除方法的功能:
在UpdateAnimal()我使用我设置的反向引用InsertDog()并添加:
我也将 Dog 设置为与数据库上的 Animal 级联删除。
在 LightSwitch 前端,我在 RiaDog 实体上有这个:
我遇到的问题是,如果我将类型更改为 Dog,保存,将其更改回其他内容,保存,然后再次将其更改为 Dog 并保存,我会收到错误消息:The context is already tracking a different entity with the same resource Uri.
我学会了处理其他跟踪错误:
在代码隐藏客户端中创建实体时,它们需要唯一的 ID 才能在客户端正确跟踪。
在 WCF RIA Services 中的任何插入方法中,实体的客户端 ID 必须在数据库生成后设置为真实 ID,例如:
但是我不知道如何解决这个当前的跟踪错误。真的,我觉得我采取了错误的方法,我正在寻找专家的建议,了解您应该如何在 WCF RIA Services for Microsoft中编写一对一或一对一或一对一或零对一的关系灯开关。
实际上,我已经设法使这一切都与一对多的关系一起工作,并且简短而合理的代码看起来“正确”,因此这种变化应该是可以实现的。
mysql - VS 2012 Lightswitch 和 MySQL
我目前遇到一个问题,我不能 100% 确定造成麻烦的部分,所以我只想告诉你们我正在尝试做什么以及实际在做什么。
它是关于通过使用 MySQL 部署具有表单身份验证的 Lightswitch 桌面应用程序(本地)来尝试和或多或少地失败
- 在 VS 2012 中使用集成的 Lightswitch 创建一个新的 Lightswith 应用程序
- 使用连接向导选择数据库源到我的根服务器 MySQL
- 导入表格等。
- 创建一些屏幕
- 尝试部署一切,工作正常,直到为可能创建身份验证数据提供数据库连接 - 因为根本没有 MySQL 连接器可供选择..这就是我坚持的地方。
当我删除表单身份验证时,似乎一切正常。有任何想法吗?不支持 Lightswitch 中使用简单 MySQL 的表单身份验证,还是 .NET 连接器本身有问题?
visual-studio-lightswitch - 在 LightSwitch HTML 客户端项目中,ModelManifest.xml 文件是否应该存储在存储库中?
在 LightSwitch HTML Client 项目中,Server 和 HTMLClient 目录中的 ModelManifest.xml 文件似乎在每次打开解决方案时都会发生变化。如果两个开发人员在同一个项目上工作,这会导致合并冲突。ModelManifest.xml 文件是否应该存储在源代码控制存储库中?
这些文件是做什么用的?不对其进行版本控制会产生什么后果?
我搜索了 MSDN 论坛([1]、[2]),一位社区成员声称源代码管理不需要这些文件,但没有给出任何说明。
deployment - Lightswitch 桌面应用程序无法在 XP SP3 中运行
我在 Lightswitch 2012 中开发了一个应用程序,现在需要将其部署到运行 XP SP3 的台式机上。
我已经看过之前的两篇文章Can't run Lightswitch 2012 Programm under Windows XP and Lightswitch Desktop Application Wont Install in XP SP3
这两篇文章都提到了执行 [ editbin vslshost.exe /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1] 来修改 vslshost.exe 文件,尽管只有第一篇文章说它有效。
就我而言,我已尝试上述方法来更新 vslshost.exe 文件,但是当我发布我的 LS2012 项目时,它会恢复为默认的 vslshost.exe 文件。如果我手动将文件与我修改的副本交换,当我运行部署的应用程序时,我会收到以下错误:
所以,问题是
- 难道我做错了什么?
- 是否有我需要更新的 vslshost.exe 的主副本?
(顺便说一句,我还运行了 VS2012(来自 VS2012 Update 1 CTP 4 的 KB270250))
谢谢你的帮助
sql-server - 重用 Lightswitch 可视化查询设计器
我们正在构建的应用程序能够让用户在不输入 SQL 查询的情况下提取数据。LightSwitch 查询设计器看起来用户友好。
是否可以将 LightSwitch 可视化查询设计器重用(嵌入)到 .NET 应用程序中?
data-binding - 将 Lightswitch 属性加载到 Silverlight 控件
我有这样的方法
但是当我运行它时,对象结果为空,因为在加载 lightswitch 屏幕之前调用了预定义的 Loaded silverlight 函数,当我在按钮单击结果上调用方法获取属性时,因为加载了 lightswitch 屏幕,所以结果不是 null。所以我的问题是如何在屏幕以某种方式加载后调用此方法(没有按钮单击)。
c# - System.Text.Encoding 由于其保护级别而无法访问
我正在尝试在 Lightswitch 应用程序中反序列化和序列化 JSON,并且在该过程中我需要使用编码。问题是构建后我收到此错误:
'System.Text.Encoding.GetString(byte[])' 由于其保护级别而无法访问
[Serializable] 并且在标签构建后也会出现此错误
问题是为什么?引用System.Text已经存在并且使用命名空间也......
visual-studio-lightswitch - 在 Lightswitch 中打开同一个屏幕
我有一个名为 Customer 的屏幕,并有一个参数 ID。
要通过我正在使用的代码打开屏幕:
我在客户屏幕中调用它,但没有任何反应。我可以打开不同的屏幕,但我需要打开相同的屏幕但具有不同的实体。
我不确定目前正在发生什么。
谢谢
lightswitch-2012 - 无法在 LightSwitch 2012 项目中分配值
我正在尝试将以下代码实现到 LightSwitch 2012 项目中。当我尝试将 this.ExpenseReport 分配给一个值时出现错误。错误显示“无法将属性或索引器‘LightSwitchApplication.ExpenseReportDetails.ExpenseReport’分配给——它是只读的”。
