我首先使用EF6代码,但似乎无法使延迟加载工作.急切的装载工作正常.我有以下课程:
public class Merchant : User
{
...
public virtual ICollection<MerchantLocation> MerchantLocations { get; set; }
}
public class MerchantLocation : BaseEntity
{
...
public int MerchantId { get; set; }
public virtual Merchant Merchant { get; set; }
}
public class User : BaseEntity
{
...
}
public class BaseEntity
{
...
public int Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我通过以下代码测试我的延迟加载位置(失败):
public void Test_Lazy_Loading() {
using (var context = new MyDbContext()) {
var merchant = context.Users.OfType<Merchant>.First();
merchant.MerchantLocations.ShouldNotBeNull(); // fails …
Run Code Online (Sandbox Code Playgroud) 我最近开始在我的iOS应用程序中使用PubNub,我很高兴.但是,我一直在寻找其他可用的选项,例如使用Websockets的Pusher和Realtime.co.另一方面,PubNub使用长轮询.我已经完成了自己的小速度比较,为了我的目的,我发现它们都足够快.
PubNub提供了一些很好的功能,如消息历史记录和频道中每个人的列表,所以除了我倾向于他们的其他一切.我的问题是,我应该关注电池寿命和使用像PubNub这样的长轮询解决方案的大量使用吗?Websockets解决方案是否会显着提高功效?
我正在使用EF 6 async
查询功能,例如
var list = await cx.Clients.Where(c => c.FirstName.Length > 0).ToListAsync();
Run Code Online (Sandbox Code Playgroud)
我还想在这些查询上启动SQL依赖项,以便在数据库中的数据发生更改时收到通知.我可以使用System.Runtime.Remoting.Messaging.CallContext
以下内容执行此操作:
async Task GetData()
{
using (ClientsContext context = new ClientsContext()) // subclass of DbContext
{
SqlDependency.Start(context.Database.Connection.ConnectionString);
SqlDependency dependency = new SqlDependency();
dependency.OnChange += (sender, e) =>
{
Console.Write(e.ToString());
};
System.Runtime.Remoting.Messaging.CallContext.SetData("MS.SqlDependencyCookie", dependency.Id);
var list = await context.Clients.Where(c => c.FirstName.Length > 0).ToListAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
..它工作正常.但是,如果我想要一个SqlDependency
多个查询,我遇到了一个问题.如果我有两个async
类似于GetData()
上面的方法,并且我同时运行两个方法,则只有第一个方法会获得更改通知.我假设这是由于CallContext连续地为每个方法设置了cookie.如果我等待第一个async
方法完成,然后调用第二个方法,它们都会按预期获得更改通知.这有什么解决方案吗?
我正在测试内容可用= 1的推送通知,除非在Wi-Fi上,否则它们似乎不会在后台传送到应用程序.
我在推送通知处理程序的开头有一个简单的日志语句:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^) (UIBackgroundFetchResult))completionHandler {
NSLog(@"Notification received: %@", userInfo);
completionHandler(UIBackgroundFetchResultNewData);
}
Run Code Online (Sandbox Code Playgroud)
这是我的测试:
在Wi-Fi上,控制台日志显示通知.如果我转到设置并关闭Wi-Fi,切换到4G,日志中不再显示通知(尽管它们会在屏幕顶部滑入,因此我知道它们正在交付).
没有崩溃日志,如果我手动点击它,则会记录通知.此外,如果我在Xcode中调试应用程序,则不会发生此问题.(即,如果我在Xcode中调试,该应用程序将在后台接收4G通知).有没有其他人经历过这种行为?或者我做错了什么?
编辑:具体:根据我的测试,如果满足以下条件,则不会调用上面的远程通知委托方法:
但是,如果删除条件2(即,手机连接到Wi-Fi),则将调用处理程序.
我有一个涉及3D定位的问题 - 有点像GPS.给定一组已知的3d坐标(x,y,z)和它们距未知点的距离d,我想找到未知点.可以有任意数量的参考点,但至少有四个.
因此,例如,点的格式为(x,y,z,d).我可能有:
(1,0,0,1)
(0,2,0,2)
(0,0,3,3)
(0,3,4,5)
Run Code Online (Sandbox Code Playgroud)
这里未知的点是(0,0,0,0).
最好的方法是什么?是否有支持3d多点定位的现有库?(我一直找不到).由于我的数据不太可能具有精确的解决方案(所有4个球体可能都不会有一个完美的交叉点),因此算法需要能够逼近它.
到目前为止,我正在考虑获取三个点的每个子集,基于这三个点对未知数进行三角测量,然后对所有结果求平均值.有一个更好的方法吗?
我无法确定如何调整iOS7中的状态栏.我的视图控制器有一个tableView
,我希望tableView
在状态栏下启动.目前,状态栏正在重叠.(在顶部的标签是headerView
在tableView
).
我通过IB在我的视图控制器上设置了属性,如下所示:
automaticallyAdjustsScrollViewInsets = YES
edgesForExtendedLayout = UIRectEdgeNone
Run Code Online (Sandbox Code Playgroud)
状态栏的这些设置的预期行为是否与tableView重叠?或者我错过了什么?我尝试启用自动布局,并将项目设置更改为仅支持iOS 7.
iI'm使用图案图像作为背景颜色为一个UITableViewCell
由
cell.backgroundColor = [UIColor colorWithPatternImage[UIImage imageNamed:@"image.png"]]
Run Code Online (Sandbox Code Playgroud)
但是,我希望图案图像的底部与单元格的底部对齐.默认情况下,图像的左上角与单元格的原点对齐.我需要这个的原因是因为单元格的高度是可变的,但无论高度如何,底部都需要看起来相同.
Apple文档指定为了更改模式图像的相位,[UIColor colorWothPatternImage]
应将color()设为当前颜色,然后调用CGContextSetPatternPhase.但是,我不确定如何在设置UITableViewCell
's backgroundColor 的上下文中使用此方法cellForRowAtIndexPath
.
我意识到之前已经问过这个问题,但它没有回答我的问题.
我正在开发一个用于iPad/iPod Touch的商务应用程序.我想知道是否有办法将设备上的使用限制在我的应用程序中.换句话说,我们不希望员工安装其他应用程序,如游戏和玩弄设备.
我有System.Type
一个对象,我想将它用作泛型函数的参数:JsonConvert.DeserializeObject<T>()
当然JsonConvert.DesierializeObject<theType>()
不起作用..我似乎需要类的名称,但我不知道如何从类型中获取它.
有没有办法将类型转换回T所以我可以调用函数?
我正在尝试响应用户在我的基于非文档的Cocoa应用程序中单击"打开最近"菜单中的项目.我可以通过将其附加到IB中的IBAction来处理File-> Open.但是,当用户点击"最近"列表中的某些内容时,我无法弄清楚如何处理.我需要某种代表吗?
我正在应用程序中实现应用内购买,允许您下载和阅读文章.我宁愿出售"信用证",而不是为每一篇文章提供产品标识符,即选择任何5篇文章,或任何10篇等等.
Apple的指导原则声明:
11.4使用IAP购买信用卡或其他货币的应用程序必须在应用程序中使用这些信用
11.5使用IAP购买到期的信用卡或其他货币的应用程序将被拒绝
我不知道如何解释11.4.我的应用程序确实会消耗积分来进行购买,但实际上它们将由服务器跟踪.有谁知道这种类型的系统是否被允许?
ios ×5
c# ×3
4g ×1
algorithm ×1
asynchronous ×1
autolayout ×1
background ×1
battery ×1
cocoa ×1
cocoa-touch ×1
generics ×1
gps ×1
ios7 ×1
iphone ×1
json ×1
lazy-loading ×1
long-polling ×1
math ×1
nsmenu ×1
pubnub ×1
types ×1
websocket ×1
wifi ×1
xcode ×1