<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How we systemically apply filters to our data access</title>
	<atom:link href="http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/</link>
	<description></description>
	<lastBuildDate>Thu, 14 Mar 2013 03:50:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Adam Boddington</title>
		<link>http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/#comment-139</link>
		<dc:creator>Adam Boddington</dc:creator>
		<pubDate>Sun, 30 Jan 2011 05:42:07 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joshuaflanagan/archive/2011/01/24/how-we-systemically-apply-filters-to-our-data-access.aspx#comment-139</guid>
		<description>How do you handle restrictions on lazy loaded collections? Do you amend the collection with a query restriction in the property getter after loading, or do you have some way of getting the restriction into the SQL there too?

Elegant solution by the way. I had something similar but abandoned it in favor of NHibernate filters because of the collection problem.</description>
		<content:encoded><![CDATA[<p>How do you handle restrictions on lazy loaded collections? Do you amend the collection with a query restriction in the property getter after loading, or do you have some way of getting the restriction into the SQL there too?</p>
<p>Elegant solution by the way. I had something similar but abandoned it in favor of NHibernate filters because of the collection problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars-Erik Roald</title>
		<link>http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/#comment-138</link>
		<dc:creator>Lars-Erik Roald</dc:creator>
		<pubDate>Mon, 24 Jan 2011 21:50:24 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joshuaflanagan/archive/2011/01/24/how-we-systemically-apply-filters-to-our-data-access.aspx#comment-138</guid>
		<description>I see. Looking forward to next post.</description>
		<content:encoded><![CDATA[<p>I see. Looking forward to next post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Flanagan</title>
		<link>http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/#comment-137</link>
		<dc:creator>Joshua Flanagan</dc:creator>
		<pubDate>Mon, 24 Jan 2011 20:53:22 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joshuaflanagan/archive/2011/01/24/how-we-systemically-apply-filters-to-our-data-access.aspx#comment-137</guid>
		<description>@Lars-Erik - IDataRestrictions are not part of the data access layer. They are part of the domain and can be leveraged by different parts of the application - including data access, as demonstrated here. In a follow up post I will demonstrate how these same data restrictions defined in the domain can be used to authorize access to URLs - nothing to do with data access.</description>
		<content:encoded><![CDATA[<p>@Lars-Erik &#8211; IDataRestrictions are not part of the data access layer. They are part of the domain and can be leveraged by different parts of the application &#8211; including data access, as demonstrated here. In a follow up post I will demonstrate how these same data restrictions defined in the domain can be used to authorize access to URLs &#8211; nothing to do with data access.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars-Erik Roald</title>
		<link>http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/#comment-136</link>
		<dc:creator>Lars-Erik Roald</dc:creator>
		<pubDate>Mon, 24 Jan 2011 20:29:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joshuaflanagan/archive/2011/01/24/how-we-systemically-apply-filters-to-our-data-access.aspx#comment-136</guid>
		<description>I am sorry, but I don&#039;t like this. You are doing the &#039;sensitivity filtering&#039; at the wrong abstraction level. It is not a concern of the data acces layer. It is very CRUD-ish. I would rather have domainService returning ISensitiveDto or IRestrictedDto. I also think that queries dont belong in the presentation layer - specifications that are entity-agnostic are better. The serviceA could retrieve a list of IServiceASpecifications.</description>
		<content:encoded><![CDATA[<p>I am sorry, but I don&#8217;t like this. You are doing the &#8216;sensitivity filtering&#8217; at the wrong abstraction level. It is not a concern of the data acces layer. It is very CRUD-ish. I would rather have domainService returning ISensitiveDto or IRestrictedDto. I also think that queries dont belong in the presentation layer &#8211; specifications that are entity-agnostic are better. The serviceA could retrieve a list of IServiceASpecifications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scooletz</title>
		<link>http://lostechies.com/joshuaflanagan/2011/01/24/how-we-systemically-apply-filters-to-our-data-access/#comment-135</link>
		<dc:creator>Scooletz</dc:creator>
		<pubDate>Mon, 24 Jan 2011 18:34:38 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joshuaflanagan/archive/2011/01/24/how-we-systemically-apply-filters-to-our-data-access.aspx#comment-135</guid>
		<description>I do like the idea of applying an IDataRestrictions. The very similiar paradigm you can find in my authorization project called Themis: http://themis.codeplex.com/

It allows you not only apply simple conditions based on entities, but also crosscut it with properties of user user roles (for instance filtering based on a security level of a document and a reader role).</description>
		<content:encoded><![CDATA[<p>I do like the idea of applying an IDataRestrictions. The very similiar paradigm you can find in my authorization project called Themis: <a href="http://themis.codeplex.com/" rel="nofollow">http://themis.codeplex.com/</a></p>
<p>It allows you not only apply simple conditions based on entities, but also crosscut it with properties of user user roles (for instance filtering based on a security level of a document and a reader role).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
