Visual Studio 给了我一连串错误,我已经陷入了死胡同。我正在尝试将数据库中的现有表添加到我的数据模型中。我知道这张桌子应该有一把钥匙,但它没有,我也无法修复;重新设计不是我的数据库。
当我第一次尝试添加表时,出现此错误:
表/视图 'BT8_GC.dbo.SAVED_QUERY_CATEGORY' 没有定义主键,无法推断出有效的主键。此表/视图已被排除。要使用该实体,您需要查看架构、添加正确的键并取消注释。
好的,好的,我会为它定义键并取消注释。这是我在手动定义键后取消注释的块(我还必须添加 nullable=false 部分):
<EntityType Name="SAVED_QUERY_CATEGORY">
<Key>
<PropertyRef Name="SQC_CAT_ID"/>
<PropertyRef Name="SQC_USER_ID"/>
</Key>
<Property Name="SQC_CAT_ID" Type="int" Nullable="false" />
<Property Name="SQC_USER_ID" Type="int" Nullable="false" />
<Property Name="SQC_CAT_DSCR" Type="varchar" MaxLength="50" />
<Property Name="SQC_SEQ_NO" Type="int" />
</EntityType>
Run Code Online (Sandbox Code Playgroud)
不,现在设计器不会打开。返回文件,Intellisense 显示此错误:
错误 11002:实体类型“SAVED_QUERY_CATEGORY”没有实体集。
好的...取消注释创建了一个新错误。添加实体集后:
<EntitySet Name="SAVED_QUERY_CATEGORY" EntityType="IssueModel.Store.SAVED_QUERY_CATEGORY" store:Type="Tables" Schema="dbo" />
Run Code Online (Sandbox Code Playgroud)
好极了!设计师开门!仍然没有,因为虽然它显示在商店的 Tables/Views 文件夹下,但它在模型中没有实体类型。无法从我的代码中调用它。我没有任何错误可以解决,所以我尝试创建一个实体集映射,但这导致错误“MetadataWorkspace 中不存在”。
所以这就是我所尝试的。如何将这个设计不佳的表放入我的数据模型中?
我知道这个问题之前已经被问过了,但我已经阅读了几个没有帮助我的答案.
我有一个ComboBox需要从数据库中获取与选择相关的一些信息(可能是丢失焦点,在滚动期间停止一千次调用).此信息仅供显示,而不是关键,因此获得后台线程/任务听起来就像是完美的解决方案.它确实需要几秒钟,因为它从一些非常大的表中得到计数.用户应该可以自由地继续执行其他任务,因为这些信息实际上仅用于显示/参考.
这个问题主张使用后台工作者,但这个解决方案有两个问题.1)在工作人员已经运行时更改选择会引入问题.您可以不是第二次启动它,这意味着当它返回时它不再显示新选择的有效信息,或者尝试取消它(这并不总是有效).2)由于某些原因我无法解释,实际访问后台工作程序数据库的方法如果方法在Model中比在ViewModel中返回的速度慢,我认为它不属于ViewModel.我真的不知道为什么.
这个问题有几个选票,但OP的问题措辞非常糟糕,所选答案只是说"是的,应该有效".
这个问题的方法看起来很有希望,但链接的视频是一个小时(我看了整个事情),并且仅在10-15秒内触及调度员而没有解释它.如果有人链接到更深入地介绍此方法的文章,那就更好了.
线程池,正如这里建议的那样,它可能是最好的方法,因为多个查询请求只是排队,而不是导致已经运行的错误.但是,它没有解释如何使用线程池,而是链接到MSDN文章.如果有人链接到更深入地介绍这种方法的文章,那将是理想的,因为它似乎是更好的解决方案(当然,我可能是错的).
我真的试图对这个进行研究,但大多数答案只是告诉你使用什么方法,而不是如何使用它.我真的在寻找"操作方法".
我真的很茫然,并且一直试图找到解决方案几个小时.我搞不清楚了.在我最后一次检查的操作期间,我得到以下异常.
'{DependencyProperty.UnsetValue}' is not a valid value for property 'Foreground'.
我不会把错误发生在哪里.它带我到一个页面,上面写着"No Source Available",没有别的.我已经尝试通过在各个地方放置断点来定位错误,但是在每次运行期间它似乎在不同的点处失败.InnerException为null.
我已经看到了这个问题,以及谷歌的各种文章.我无法弄清楚发生了什么,我不知道如何从这里解决问题.Visual Studio输出似乎没有提供任何更详细的信息,但我会根据请求粘贴它.请,任何帮助表示赞赏.
我在网上找不到任何类似的东西.我正在寻找一种方法在代码中创建一个Keybindings集合(使用Keybinding ViewModel),然后将集合绑定到视图,而不是在Xaml中手动列出每个绑定.
我希望它看起来像这样
<Window.InputBindings ItemsSource="{Binding Path=KeybindingList}" />
Run Code Online (Sandbox Code Playgroud)
然后在代码中,有一个List.这种方法有可能吗?我从哪里开始?
我正在寻找一种导出 Git 存储库的方法,以便我单独获得每个分支的 zip 或目录。
这类似于做“git 导出”(如“svn 导出”)?,但我希望获得每个分支的 zip,而不是当前分支的 zip 。
有 Git 或 Bash 命令可以做到这一点吗?
我是 react js 和 react native 的新手,我想知道如何在不依赖 navigatorIOS 或导航器组件的情况下从一个页面(组件)导航到另一个页面(组件)?在混合开发模式下,很简单,只需添加带有 href 属性的 html 元素 A 就可以了,但是在 React Native 中,如何在不使用 NavigatorIOS 的情况下做到这一点?
我确信以前已经有人问过这个问题,但我并没有很容易地弄清楚如何表达这个查询。
我有这个风格;
<SolidColorBrush x:Key="SemiTransparentRedBrushKey">#F0FF0000</SolidColorBrush>
<Style x:Key="TextBoxEmptyError" TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text.Length}" Value="0">
<Setter Property="BorderBrush" Value="{StaticResource ResourceKey=SemiTransparentRedBrushKey}"/>
</DataTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
我可以将文本框应用为在文本框为空时具有红色边框。太棒了,我可以添加Style="{StaticResource TextBoxEmptyError}"到控制标签中。但是,如果我想通过触发器应用此样式,以便控件仅在某些条件下使用它(例如绑定为 true),该怎么办?就像是:
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ApprovedRequired}" Value="True">
<Setter Property="Style" Value="{StaticResource TextBoxEmptyError}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
但这段代码会抛出异常{"Style object is not allowed to affect the Style property of the object to which it applies."}
这样的事情可以做吗?
编辑:如果不能使用样式触发器来完成此操作,因为它会覆盖自身,是否有另一种方法有条件地应用资源样式?
编辑:如果此操作有更合适的术语,我可以更改问题标题。
我有一个相当复杂的 LINQ 查询,它连接了几个表,并选择了一个新的匿名类型,即三个 IEnumerable 的{Users, JobProviders, Jobs}. 它返回一个 IQueryable 以维护延迟执行,从而从这个问题中消除了 DistintBy 。
其中一列是排名,我需要确保只选择每个工作排名最低的记录(另一列,将选择许多工作)。Distinct 不起作用,因为排名显然会使行唯一。
我认为 group 子句可能对此有所帮助,但它将返回类型更改为 IGrouping。我不完全理解小组是如何运作的,所以我可能是错的,但它看起来不起作用。有什么办法可以说每个工作只取最低的等级吗?
就像是
let jobRank = JobProvider.Rank
...where min(rank)
Run Code Online (Sandbox Code Playgroud) wpf ×4
c# ×2
asynchronous ×1
collections ×1
data-binding ×1
dispatcher ×1
distinct ×1
export ×1
git ×1
javascript ×1
jquery ×1
json ×1
key-bindings ×1
knockout.js ×1
linq ×1
react-native ×1
reactjs ×1
styles ×1
threadpool ×1
triggers ×1
xaml ×1