diff --git a/src/main/java/com/j256/ormlite/dao/BaseForeignCollection.java b/src/main/java/com/j256/ormlite/dao/BaseForeignCollection.java
index <HASH>..<HASH> 100644
--- a/src/main/java/com/j256/ormlite/dao/BaseForeignCollection.java
+++ b/src/main/java/com/j256/ormlite/dao/BaseForeignCollection.java
@@ -157,6 +157,10 @@ public abstract class BaseForeignCollection<T, ID> implements ForeignCollection<
 		}
 	}
 
+	public Dao<T, ?> getDao() {
+		return dao;
+	}
+
 	protected PreparedQuery<T> getPreparedQuery() throws SQLException {
 		if (dao == null) {
 			return null;
diff --git a/src/main/java/com/j256/ormlite/dao/ForeignCollection.java b/src/main/java/com/j256/ormlite/dao/ForeignCollection.java
index <HASH>..<HASH> 100644
--- a/src/main/java/com/j256/ormlite/dao/ForeignCollection.java
+++ b/src/main/java/com/j256/ormlite/dao/ForeignCollection.java
@@ -136,4 +136,9 @@ public interface ForeignCollection<T> extends Collection<T>, CloseableIterable<T
 	 * @see Collection#add(Object)
 	 */
 	public boolean add(T obj);
+
+	/**
+	 * Return the DAO object associated with this foreign collection. For usage for those who know what they are doing.
+	 */
+	public Dao<T, ?> getDao();
 }
Added getDao() method on the ForeignCollection.