小编Kir*_*rst的帖子

在Entity Framework中以多对多关系映射复合外键

我有一个Page表和一个View表.这两者之间通过PageView表有很多关系.不幸的是,所有这些表都需要具有复合键(出于商业原因).

  • 页面有一个主键(PageCode,Version),
  • View具有(ViewCode,Version)的主键.
  • PageView显然足够有PageCode,ViewCode和Version.
  • FK to Page是(PageCode,Version)和FK to View是(ViewCode,Version)

有意义并且有效,但当我尝试在Entity框架中映射时,我得到了

错误3021:映射片段中的问题...:表PageView中的以下每个列都映射到多个概念侧属性:PageView.Version映射到(PageView_Association.View.Version,PageView_Association.Page.Version)

很明显,EF抱怨版本列是两个外键的常见组件.

显然,我可以在连接表中创建一个PageVersion和ViewVersion列,但这种方法会破坏约束点,即Page和View必须具有相同的Version值.

有没有人遇到这个,有什么我可以做到的吗?谢谢!

c# entity-framework entity-framework-4

5
推荐指数
2
解决办法
4342
查看次数

如何反映Y轴上的角度

我不是数学家,但我不知何故将游戏开发作为一种爱好.

从来没有研究过基本数学以外的任何东西,我很难弄清楚如何反转某些东西的角度,面向相反的方向,沿着X轴和横跨Y轴.

一张图片说的超过1000个单词(特别是没有受过教育的单词):http: //img156.imageshack.us/i/wihwin.png/

我基本上想要扭转粘附在机器人上的大炮物体的方向.当机器人从面向右转向左侧时,我(180 - angle)按照每个人的建议做了,但它确实颠倒了角度,使得大炮在瞄准时向上瞄准.所以,我需要做点别的事,但它逃避了我的知识.

换句话说,我在2D工作,所以我想要一个面朝右的角度.我的角度定义如下:

  • 0"完全在右边"
  • 180"离开"
  • 90"向上"和
  • 270"向下"

我希望瞄准角度为91的东西在颠倒时变为89.没有Z轴存在.任何人都会非常友好地帮助我吗?

math

5
推荐指数
2
解决办法
1万
查看次数

在UserControl中引用Parent的ResourceDictionary

我有一个WPF UserControls库和一个在库中共享的ResourceDictionary.

此库中的所有UserControl仅出现在单个"shell"父控件中,该控件实际上只是一组较小控件的容器.当我添加以下XAML时,我能够按预期从我的shell控件访问ResourceDictionary

<Control.Resources>
    <ResourceDictionary Source="MyResources.xaml" />
</Control.Resources>
Run Code Online (Sandbox Code Playgroud)

但是,我无法从位于"shell"控件内的子控件访问ResourceDictionary.

我的印象是WPF应该在本地检查资源,然后向上遍历,直到找到适当的资源?

相反,我得到了

Cannot find resource named '{BoolInverterConverter}'. 
Resource names are case sensitive.  Error at    
    object 'System.Windows.Data.Binding' in markup file...
Run Code Online (Sandbox Code Playgroud)

显然,我可以(并且)在我的子控件中引用ResourceDictionary; 但现在每个控件都需要引用这个字典,我相信这不是必需的.

任何想法,我做的事情是奇怪的还是我对行为的期望不正确?

wpf xaml user-controls resourcedictionary

5
推荐指数
1
解决办法
5932
查看次数

"在MVC3中,方法'LabelFor'没有重载需要2个参数"

我正在运行ASP.NET MVC 3,我正在查看模型的编辑视图.我有一个FullName属性,我想呈现为"全名".

这是违规行:

<div class="display-label">
    <%: Html.LabelFor(model => model.FullName, "Full name") %>
</div>
Run Code Online (Sandbox Code Playgroud)

现在intellisense 表明存在重载 - 有两个签名,第一个只接受表达式,第二个接受表达式和要显示的字符串.然而,当我浏览页面时,我得到了标题异常('无过载......').

任何人都有使用这个重载的任何成功,以及对我可能缺少什么的任何建议?


更新:我尝试重新安装MVC3无济于事.但是我在错误页面的编译器输出中注意到了这一点:

c:\Windows\assembly\GAC_MSIL\System.Web.Mvc\2.0.0.0__31bf3856ad364e35\
    System.Web.Mvc.dll: (Location of symbol related to previous error)
Run Code Online (Sandbox Code Playgroud)

这告诉我,我使用的是MVC 2,而不是MVC 3.

我错误配置了什么,或者为什么我的IIS使用MVC 2而不是MVC 3?我怎样才能解决这个问题?

asp.net-mvc asp.net-mvc-3

5
推荐指数
1
解决办法
3828
查看次数

使用方法的MethodHandle作为键来缓存无参数方法的结果是否安全?

在WCF客户端应用程序中,有许多无参数方法,我们希望将结果缓存 - GetAllFoo(), GetAllBar(). 这些用于填充下拉列表等,结果在客户端的运行期间不会改变.

这些结果当前由存储在资源文件中的唯一字符串缓存 - 例如,GetAllCountries()缓存在CountryKey资源上.仅当缓存不包含请求的密钥时才会调用该服务.

public T Get<T, V>(string key, Func<V, T> serviceCall, V proxy)
{
    if (!cache.Contains(key))
    {
        cache.Add(key, serviceCall(proxy));
    }   
    return cache.GetData(key) as T;
}
Run Code Online (Sandbox Code Playgroud)

这很好,除了我们需要维护资源文件中的密钥,并且需要确保每个方法都使用正确的缓存密钥,否则会中断.旧的Control + C,Control + V在这里引起一些麻烦,我不想去检查每个调用此方法的地方.

所以问题是:

serviceCall委托具有Method它属性描述要执行的方法.这是一个MethodInfo实例,它又包含一个MethodHandle属性.我是否正确地假设该MethodHandle属性唯一且一致地标识引用的方法?

我将包装器更改为

public T Get<T, V>(Func<V, T> serviceCall, V proxy)
{
    var key = serviceCall.Method.MethodHandle;
    // etc
Run Code Online (Sandbox Code Playgroud)

它正确地封装了缓存和关键问题,并消除了对调用者"做正确的事情"的任何依赖.

  • 不关心MethodHandle是否在实例之间发生变化 - 缓存仅适用于每个实例
  • 不关心MethodHandle是否在客户端之间不一致 - 每个客户端都有缓存
  • DO护理如果MethodHandle不是客户端上的实例中一致的-其实我是想使用高速缓存,而不是每个请求产生新的服务调用和缓存已满未使用的数据的
  • 注意MethodHandle在客户端的实例中是不唯一的 - 我必须确保在使用包装器时返回正确的数据(和类型).

.net c# reflection caching methodinfo

5
推荐指数
1
解决办法
277
查看次数

SQL数据库是否有"代码覆盖率"等价物?

我有一个包含许多表的数据库,以及许多不再使用的表.虽然我可以手动对每个表进行排序以查看它们是否仍在使用中,但这将是一项繁琐的任务.是否有任何软件/隐藏功能可用于SQL Server/Oracle数据库,这些功能将返回"过去一个月没有使用过表x,y,z"等信息"表a,b,c已被使用17今天的时代"?或者可能是通过"Date Last Modified/Selected From"对表格进行排序的方法?

或者有更好的方法来做这件事吗?谢谢

编辑:我在执行"SELECT*FROM sys.tables ORDER BY modify_date desc"时找到了"modify_date"列,但这似乎只跟踪对表结构的修改,而不是其内容.

sql sql-server oracle code-coverage

5
推荐指数
1
解决办法
1468
查看次数

如何将嵌入的图像资源分配给XAML中的图像控件

我是WPF的新手.如何使用XAML在WPF中使用嵌入式资源图像进行图像控制?

wpf xaml

5
推荐指数
1
解决办法
5386
查看次数

获取路径或多段线上最接近断开点的点

我有一个点和一条路径、折线或一组点来创建直线。

如何找到路径上最接近另一个断开点的点?

与任何 WPF 几何控件一样,可以轻松存储或传输路径/折线,但这些控件是否带有GetDistanceFrom类型方法?有什么简单的方法可以实现这个目标吗?

wpf geometry line wpf-controls polyline

5
推荐指数
1
解决办法
7122
查看次数

AWS Glue 爬网程序命名约定

我正在尝试抓取 s3 路径中的许多项目(使用 的根路径s3://my-bucket/somedata/

s3://my-bucket/somedata/20180101/data1/stuff.txt.gz
s3://my-bucket/somedata/20180101/data2/stuff.txt.gz
s3://my-bucket/somedata/20180101/data1.sql
s3://my-bucket/somedata/20180101/data2.sql  
s3://my-bucket/somedata/20180102/data1/stuff.txt.gz
s3://my-bucket/somedata/20180102/data2/stuff.txt.gz
...
Run Code Online (Sandbox Code Playgroud)

有时我们的表是根据日期模式命名的(例如20180101);有时它们根据叶级“文件夹”命名(例如data1),有时根据文件(例如data1.sql)命名,当存在冲突时,Glue 似乎只是在表名后附加一个唯一标识符(例如data1_c17b2f988649f2171b24b1d35da7f2b4)。

这里的逻辑是什么?这些名称是确定性的吗?我是否应该使用一些模式来构建数据,以便爬虫能够按某种逻辑顺序对内容进行编目?

aws-glue

5
推荐指数
1
解决办法
2606
查看次数

使用Athena指定压缩类型

我有S3数据,它有GZIP压缩.我正在尝试使用此文件在Athena中创建一个表,并且我的CREATE TABLE语句成功 - 但是当我查询表时,所有行都是空的.

create external table mydatabase.table1 (
   date date,
   week_begin_date date,
   week_end_date date,
   value float
)
row format delimited fields terminated by ','
stored as inputformat 'org.apache.hadoop.mapred.TextInputFormat'     
outputformat 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
location 's3://my-bucket/some/path/'
Run Code Online (Sandbox Code Playgroud)

我怎么能坚持雅典娜把我的文件读成GZIP

hive amazon-athena

5
推荐指数
1
解决办法
2387
查看次数